簡體   English   中英

使用Angular監視工廠變量

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM