也許這是對角度範圍的根本性誤解,但這裏就是這樣。當服務屬性發生變化時,角度過濾器不會更新
我有一個處理改變語言首選項服務:
languageService.js
function languageService() {
var language = "en";
var service = {
getLanguage: getLanguage,
setLanguage: setLanguage
};
function getLanguage() {
return language;
}
function setLanguage (newLang) {
language = newLang;
}
return service;
}
我也有一個過濾器,格式化的東西:
someFilter.js
function myFilter(languageService) {
return function(num) {
var french = languageService.getLanguage() === 'fr';
if (french) {
return "is french!"
} else {
return "is other."
}
}
}
我嘗試在一些HTML中使用此過濾器:Blah blah {{ 'test' | someFilter }}
。
它的工作原理,但僅限於負荷;如果我撥打setLanguage('en')
,則綁定不會更改。
你需要從languageService.js返回「服務」的詳細信息。另外,在你的過濾器中,當你聲明var french時,確保你確實調用了getLanguage方法()。 –
是的,對不起,我爲了簡潔起見剪下了一些樣板。我將添加它。 – opticon