0

在AngularJS中,$filter提供了一種格式化顯示給用戶的數據的方法。 但是,$interpolate也允許我們更新文字字符串 。

$interpolate$filter彼此相關?這兩者在概念上有什麼不同?

回答

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. 

你能想到的$返回值的插值(STRING)作爲模板編譯您稍後有一組變量呈現。

相比之下,$ filter(NAME)返回一個以前註冊爲名稱爲NAME的過濾器的函數。例如,「大寫」過濾器將其參數轉換爲大寫形式,「數字」過濾器格式數字,「日期」過濾器格式日期對象,您可以定義自己的命名過濾器,使用其參數執行任意操作。