javascript – 使用Angular监视工厂变量

前端之家收集整理的这篇文章主要介绍了javascript – 使用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;
});

我想看看工厂的变化.控制,但我不能让它工作.

当我尝试这个:

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

我在控制台中得到“undefined undefined”和“Process”.这个工厂的$watch实现有什么问题吗?

解决方法

你的语法错了.它应该返回服务变量MenuFactory.Control&最后也没有必要,因为你没有对象来检查对象的相等性.

$scope.$watch(function(){
   return MenuFactory.Control;
},function(newValue,oldValue){
    console.log(newValue + ' ' + oldValue);
    console.log(MenuFactory.Control);
});

猜你在找的JavaScript相关文章