Подскажите, как правильно передать переменую в AngularJs через $rootScope.$broadcast?
Пробую так:
.controller('ctrl1', function($scope, $rootScope) {
// ...
$scope.funEvent = function(id) {
$rootScope.$broadcast("results", id);
};
})
.controller('ctrl2', function($scope, $rootScope) {
$rootScope.$on("results", function(event, id) {
$scope.results = id;
console.log(id);
});
});
Результат срабатывает, но странно. получается при первом клике, console.log вообще не выводит ничего, при втором клике выводит правильный айдишник, при третьем клике выводит тоже правильный айдишник, но уже 2 раза, при чётвертом - выводит три раза и так далее. подскажите как решить этот баг