2
要確定一個角的過濾器,你應該寫:爲什麼angular在回調函數中返回一個函數?
angular.module('app', [])
.filter('mix', function() {
// Why do we return a function here?
return function (input) {
var output;
// doing some business here
return output;
};
});
爲什麼角返回傳遞給filter
功能的回調函數內的功能?爲什麼不使用它作爲過濾器定義的佔位符和模板? 這個語法根本不是開發者友好的。 Angular有什麼限制使它使用這個函數嵌套?這是一種模式嗎?
我猜(基於大量使用jQuery和其他庫)什麼似乎是合乎邏輯和正常是這句法:
angular.module('app', [])
.filter('mix', function (input) {
var output;
// doing some business here
return output;
});
那麼,是否可以使用'['$ location',function(){}]'語法,並將該函數用作過濾器,而不是嵌套函數?它與封閉有什麼關係? –
是的。如果你想使用數組(minify-safe)語法,它也可以在這裏工作。 –
是的,封閉是其中的一部分。我的'process()'函數在返回函數中關閉。您放入更高級別函數的任何其他變量也將被關閉。 –