Событие углового вещания, вызывающее выполнение слушателя два раза

У меня есть метод в службе, который передает событие, и один контроллер подписался на него.

Когда происходит трансляция, обработчик подписчика выполняется два раза. Ниже приведена настройка:

//Broadcaster

function (Id1, Id2, Id3) {
    var requestObj = {"ID1": Id1, "ID3": Id3};
    $http.post(url, {
        headers: {
            'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
        }
    })
    .success(function (response) {
        $rootScope.$broadcast('myevent');
    }).error(function (response) {
    });
}
================================================================

//subscriber

$scope.$on('myevent', function () {
    console.log($dialog); // Executes two times
});

Я не могу исправить причину. Есть ли что-то еще, что может иметь значение. Благодарю.

1 ответ

Решение

Как оказалось, было многократное объявление контроллера, что вызывало запуск дубликата $on.

Одна из распространенных причин этого происходит из-за контроллера, объявленного в $routeProvider Конфигурация, а также в представлении HTML с помощью ng-controller

Другие вопросы по тегам