Я передаю событие в моем контроллере приложения:
var locationSrt = location.toString();
if(locationSrt.indexOf("?RecoverPassword") !== -1) {
$rootScope.$broadcast('recover-password');
}
Затем в моем app.js
в app.run
у меня есть $rootScope.$on
(из того, что я прочитал app.run
не поддерживает $scope
)
app.run(function ($rootScope, $location) {
$rootScope.$on('recover-password', function () {
$location.path("/recover-password");
});
});
Проблема заключается в том, что $rootScope.$on
вызывается каждый раз в контроллере входа в систему, даже если условие locationSrt.indexOf("?RecoverPassword") !== -1
больше не выполняется, поскольку location.search
установлено на $window.location.search = '';
Как я могу предотвратить повторный вызов $rootScope.$on
?