308

ドキュメントのように、次のように日付などのフィルターを呼び出すことができます。

{{ myDateInScope | date: 'yyyy-MM-dd' }}

ここで date は、引数を 1 つ取るフィルターです。

テンプレートと JavaScript コードの両方から、より多くのパラメーターを使用してフィルターを呼び出す構文は何ですか?

4

6 に答える 6

635

テンプレートでは、フィルター引数をコロンで区切ることができます。

{{ yourExpression | yourFilter: arg1:arg2:... }}

Javascript から、次のように呼び出します。

$filter('yourFilter')(yourExpression, arg1, arg2, ...)

実際には、orderByフィルター ドキュメントに隠されている例があります。


例:

物事を正規表現に置き換えることができるフィルターを作成するとしましょう:

myApp.filter("regexReplace", function() { // register new filter

  return function(input, searchRegex, replaceRegex) { // filter arguments

    return input.replace(RegExp(searchRegex), replaceRegex); // implementation

  };
});

すべての数字を検閲するためのテンプレートでの呼び出し:

<p>{{ myText | regexReplace: '[0-9]':'X' }}</p>
于 2013-04-26T01:27:54.343 に答える
4

ng-options 内でフィルターを呼び出したい場合、コードは次のようになります。

ng-options="productSize as ( productSize | sizeWithPrice: product )  for productSize in productSizes track by productSize.id"

ここで、フィルターは sizeWithPriceFilter で、product と productSize の 2 つのパラメーターがあります。

于 2015-12-13T11:42:45.743 に答える