带有 Angular 的手表工厂变量

2024-02-07

我的单页应用程序有 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,但我无法让它发挥作用。

当我尝试这个时:

$scope.$watch(function(){MenuFactory.Control}, function(NewValue, OldValue){
    console.log(NewValue + ' ' + OldValue);
    console.log(MenuFactory.Control);
}, true);

我在控制台中收到“未定义未定义”和“进程”。我对这个工厂的 $watch 实现有什么问题吗?


你的语法错误。它应该return服务变量MenuFactory.Control并且也不需要true最后因为你没有对象来检查对象相等性。

Code

$scope.$watch(function(){
   return MenuFactory.Control;
}, function(newValue, oldValue){
    console.log(newValue + ' ' + oldValue);
    console.log(MenuFactory.Control);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有 Angular 的手表工厂变量 的相关文章

随机推荐