Мне просто интересно, есть ли способ определить условный прослушиватель событий, то есть есть способ прослушать событие только в случае выполнения некоторого условия.Conditional EventListener
Я думаю, что я прошу неортодоксальный материал, или существует уже существующий путь, который я не замечаю.
Пример:
'lastRepeat'
Пусть быть событием, излучаемые директивами, когда нг-повтор заканчивается.
app.controller('ctrl',function($scope){
$scope.$on('lastRepeat', callback); // Here the callback will be called every time lastRepeat event is emitted by the directive
});
Но то, что я ищу что-то вроде этого (Это то, что я думал, решение не обязательно использовать тот же подход):
app.controller('ctrl',function($scope){
function foo(){
if(bool)
$scope.$on('lastRepeat', callback); // Problem listening like this is that a listener is created everytime foo is called and condition is met and hence we end up having multiple listeners
}
)};
В основном я хочу, чтобы избежать этого многократного создания слушатели. Есть ли способ сохранить этот слушатель как переменную и слушать, только если выполнено какое-либо условие.
Не уверен, что я понимаю, что вы ищете. Является ли добавление слушателя, что вы хотите быть условным, или фактическое реагирование на событие? – tasseKATT
Фактическое реагирование события на состояние –