2015-09-18 38 views
0

目前,我有一個服務:角度:從控制器添加EvenListener在服務屬性

angular.module('todoApp') 
    .service('timeoutSrv', function() { 
    var counter = 0; 
function increment() { 
    counter++; 
} 

function decrement() { 
    counter--; 
} 

function getCounter() { 
    return counter; 
} 

return { 
    increment: increment, 
    decrement: decrement, 
    getCounter: getCounter 
    }; 
    }); 

然後我想附加一個事件監聽,即「監聽」在變量counter

變化我的控制器如下所示:

angular.module('todoApp') 
    .controller('TimeoutcheckCtrl', function ($scope, timeoutSrv) { 
    timeoutSrv.addEventListener(function listener(counter) { 
     $scope.loading = counter; 
    }) 
    }); 

我收到以下錯誤:timeoutSrv.addEventListener is not a function。我怎樣才能解決這個問題 ?

+0

能否請您做一個plunker呢? –

回答

0

在角如果你想檢查是否有改變很像在C#中,那麼你要使用的內置函數$表的事件監聽:

https://docs.angularjs.org/api/ng/type/$rootScope.Scope

$scope.$watch("counter", function() { 
    // Put code you want triggered in here 
} 
+0

我可以以某種方式連接$範圍與服務?這是我目前正在努力的。 – user253956

+0

我不確定你要實現什麼,下面是一個利用TimeoutService的簡單增量器的Plnkr例子:http://plnkr.co/edit/FYUGBfIPtrl6Q7GWd597 – cullimorer

相關問題