[Dart] Polymer : カスタムフィルタを作成する
PolymerでWebアプリを作っている時、
値段を表示したい時とかあるじゃないですか。
<div>スマイル{{ price }}円</div>
ってやるじゃないですか。
でも、値段って大抵3桁毎にカンマ付けないと怒られるじゃないですか。
というわけで、Dart側で、
var nf = new NumberFormat("#,##0","ja_JP");
price = nf.format(rowPrice);
とかやるのちょっとバカバカしいじゃないですか。
っていうか、こういうのって表示の問題だと思うんですよね!
であれば、MDVでいうとViewであるHTML側でなんとかならんのかと。
って思ってたのですが、
そういうとき、Polymerのカスタムフィルタ機能でなんとかなりそう。
[HTML側]
<div>スマイル{{ price | priceformat }}円</div>
[Dart側]
NumberFormat nf = new NumberFormat("#,##0","ja_JP");
String priceformat( String str ) => nf.format(str);
以上。
本家のPolymerでは、HTML側でfilterに引数を設定することも可能なのだが、内部のソース(polymer_expressions/eval.dart)を見た感じ、無理じゃね?という感じ。
値段を表示したい時とかあるじゃないですか。
<div>スマイル{{ price }}円</div>
ってやるじゃないですか。
でも、値段って大抵3桁毎にカンマ付けないと怒られるじゃないですか。
というわけで、Dart側で、
var nf = new NumberFormat("#,##0","ja_JP");
price = nf.format(rowPrice);
とかやるのちょっとバカバカしいじゃないですか。
っていうか、こういうのって表示の問題だと思うんですよね!
であれば、MDVでいうとViewであるHTML側でなんとかならんのかと。
って思ってたのですが、
そういうとき、Polymerのカスタムフィルタ機能でなんとかなりそう。
[HTML側]
<div>スマイル{{ price | priceformat }}円</div>
[Dart側]
NumberFormat nf = new NumberFormat("#,##0","ja_JP");
以上。
本家のPolymerでは、HTML側でfilterに引数を設定することも可能なのだが、内部のソース(polymer_expressions/eval.dart)を見た感じ、無理じゃね?という感じ。
コメント
コメントを投稿