0
我試圖按照此示例進行操作,但當輸入由於某些原因而更改時,我的代碼從未輸入回調,並且newValue
。我的例子和下面的示例bin唯一的區別是我使用服務來保存值而不是控制器變量。當使用控制器作爲語法時,觀察服務對象的更改不起作用
我一直在努力使它工作,但我無法用頭包住它。我錯過了什麼?
http://jsbin.com/yinadoce/1/edit?html,js,output
請注意,我已經排除了輸入和前值的步驟在服務更新,因爲這完美的作品。問題只是我的手錶不明白服務中的值何時發生變化。
編輯:當我粘貼代碼時,忘記了在控制器中注入$scope
,現在它已完成。
控制器:
coForms.controller('CoFormsCtrl', ['$scope', 'coFormsInfo', function($scope, coFormsInfo) {
$scope.$watch(angular.bind(coFormsInfo.getInfo(), function() {
return coFormsInfo.getInfo();
}), function(newVal) {
console.log(newVal);
});
}]);
服務:
coForms.service('coFormsInfo', [function() {
var info = {
filteredList: []
}
this.setFilteredList = function(list) {
info.filteredList = list;
};
this.getInfo = function() {
return info;
};
}]);