Có lẽ đây là một sự hiểu lầm cơ bản về phạm vi Góc, nhưng ở đây đi.Bộ lọc góc không cập nhật khi thay đổi thuộc tính dịch vụ
Tôi có một dịch vụ để xử lý thay đổi một tuỳ chọn ngôn ngữ:
languageService.js
function languageService() {
var language = "en";
var service = {
getLanguage: getLanguage,
setLanguage: setLanguage
};
function getLanguage() {
return language;
}
function setLanguage (newLang) {
language = newLang;
}
return service;
}
Tôi cũng có một bộ lọc định dạng một cái gì đó:
someFilter.js
function myFilter(languageService) {
return function(num) {
var french = languageService.getLanguage() === 'fr';
if (french) {
return "is french!"
} else {
return "is other."
}
}
}
Tôi cố gắng sử dụng bộ lọc này trong một số HTML: Blah blah {{ 'test' | someFilter }}
.
Nó hoạt động, nhưng chỉ khi tải; nếu tôi gọi setLanguage('en')
, sự ràng buộc không thay đổi.
Bạn cần phải trả lại 'dịch vụ' từ languageService.js. Ngoài ra, trong bộ lọc của bạn chắc chắn rằng bạn đang thực sự gọi phương thức getLanguage() khi bạn khai báo var french. –
Vâng, xin lỗi, tôi đã cắt ra một số bản mẫu cho mục đích ngắn gọn. Tôi sẽ thêm nó vào. – opticon