0
我有這2個控制器:angular.js事件發出,變負荷時間
app.controller('SomeCtrl', ['$scope', '$rootScope', function($scope, $rootScope){
$scope.number = 0;
$rootScope.$on('do', function(event, data) {
$scope.number += data;
});
}]);
app.controller('SecondCtrl', ['$scope', function($scope) {
this.something = function() {
$scope.$emit('do', 5);
};
}]);
和HTML我只是寫這個變量:
<div ng-controller="SomeCtrl">{{number}}</div>
當我打電話something
功能它發射do
。但它正在更新數字,如10秒。爲什麼?
這不是你的問題的答案,但使用事件與兩個控制器通信通常是一個不好的做法。 您可以使用Service和$ scope。$ watch來管理通信,或者如果Controller是另一個組件內的組件,則使用Directive。 – Neozaru 2015-02-23 19:51:32
謝謝,我會看看這些東西。 – dontHaveName 2015-02-23 19:54:53