0

AngularJS では$filter、ユーザーに表示するデータをフォーマットする方法を提供します。ただし、$interpolateテキスト文字列をライブ更新することもできます。

$interpolateと は相互に$filter関連していますか? これら2つは概念的にどのように異なりますか?

4

1 に答える 1

1

$interpolate() は特殊なフィルターと考えることができます。

var interpolationFunction = $interpolate('{{thing}} is {{color}}.');

var grass = {thing: 'Grass', color: 'green'};
console.log(interpolationFunction(grass));

// Or just.
console.log(interpolationFunction({thing: 'Milk', color: 'white'}));
console.log(interpolationFunction({thing: 'The sky', color: 'blue'}));

それは以下を生成します:

Grass is green.
Milk is white.
The sky is blue.

$interpolate(STRING) の戻り値は、一連の変数を使用して後でレンダリングするコンパイル済みのテンプレートと考えることができます。

対照的に、$filter(NAME) は、NAME という名前のフィルターとして以前に登録された関数を返します。たとえば、"uppercase" フィルターはその引数を大文字に変換し、"number" フィルターは数値をフォーマットし、"date" フィルターは Date オブジェクトをフォーマットし、引数で任意のことを行う独自の名前付きフィルターを定義できます。

于 2016-09-17T13:16:36.803 に答える