[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)を見た感じ、無理じゃね?という感じ。

コメント

このブログの人気の投稿

nginxでlocalhostとしてアクセスをサーバーに転送する方法

Android・・・テキスト描画あれこれ, ascent(), descent()等

Android:stateに応じてTextの色を変更する・・・ColorStateList