おそらくこれはAngularスコープの基本的な誤解ですが、ここでは説明します。サービスプロパティが変更されたときに角度フィルタが更新されない
私は言語設定を変更処理するサービスがあります。
someFilter.js
:私も何かをフォーマットフィルタを持ってlanguageService.js
function languageService() {
var language = "en";
var service = {
getLanguage: getLanguage,
setLanguage: setLanguage
};
function getLanguage() {
return language;
}
function setLanguage (newLang) {
language = newLang;
}
return service;
}
を
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')
と呼ぶと、バインディングは変わらない。
の詳細情報を取得することができます。また、フィルタでは、実際には、french宣言時にgetLanguageメソッド()を呼び出すようにしてください。 –
ええ、申し訳ありませんが、私は簡潔にするためにいくつかの定型文を切り出しました。 – opticon