[英]watch factory variable with Angular
我的單頁應用程序有2個控制器:第一個用於我的主菜單,第二個用於視圖。 他們與這家工廠共享數據
myApp.factory('MenuFactory', function(){
var factory = {
Monitor: "doneJob",
Control: "",
Report: "",
Display: "",
setMonitor: function(value){
factory.Monitor = value;
},
setControl: function(value){
factory.Control = value;
},
setReport: function(value){
factory.Report = value;
},
setDisplay: function(value){
factory.Display = value;
}
};
return factory;
});
我想觀察factory.Control
變化factory.Control
,但我無法使其工作。
當我嘗試這個:
$scope.$watch(function(){MenuFactory.Control}, function(NewValue, OldValue){
console.log(NewValue + ' ' + OldValue);
console.log(MenuFactory.Control);
}, true);
我在控制台中得到“undefined undefined”和“Process”。 這個工廠的$ watch實現有什么問題嗎?
你的語法錯了。 它應該return
服務變量MenuFactory.Control
並且最后不需要true
,因為你沒有對象檢查對象相等性。
碼
$scope.$watch(function(){
return MenuFactory.Control;
}, function(newValue, oldValue){
console.log(newValue + ' ' + oldValue);
console.log(MenuFactory.Control);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.