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 секунд. Зачем?
Это не ответ на ваш вопрос, но использование событий для общения с двумя контроллерами - это, как правило, плохая практика. Вы можете использовать службу и $ scope. $ Watch для управления связью или использовать директиву, если контроллер является компонентом внутри другого. – Neozaru
Спасибо, я посмотрю на эти вещи. – dontHaveName