[英]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.