Я пытаюсь реализовать простую директиву в AngularJS. В частности, я хочу создать кнопку загрузчика, которая изменит ее аспект при нажатии, и я хочу повторно использовать его на всех страницах моего приложения, которые в ней нуждаются.Удаление прослушивателей событий из директивы в AngularJS
Я прочитал на руководстве для разработчиков, которые:.
«Есть несколько специальных событий, которые излучают AngularJS Когда узел DOM, который был собран с компилятором ANGULAR уничтожаются, он испускает $ уничтожить событие Аналогично, когда область AngularJS уничтожена, она транслирует событие $ destroy в области прослушивания. Слушая это событие, вы можете удалить прослушиватели событий, которые могут вызвать утечку памяти. Слушатели, зарегистрированные в областях и элементах, автоматически очищаются, когда они но если вы зарегистрировали прослушиватель в службе или зарегистрировали прослушиватель на узле DOM, который не удаляется, вам придется очистить его самостоятельно или вы рискуете ввести утечку памяти ».
В моей функции связи я поставил этот код для слушателя событий:
var onLoaderButtonClickEvent = element.on('click', function(){
//Some stuff
});
Теперь есть я считаю, что в качестве слушателя на DOM элемента (и поэтому я должен удалить его) или нет? Я немного озадачен.
Я думаю, что мне не нужно удалять слушателя, потому что он находится на «элементе». Правильно ли это?
Thx всем
Почему, по вашему мнению, вам нужно будет удалить слушателя? –
Причина: Я не понимаю разницы между «элементом» и узлом DOM, указанным в документации, которую я написал ранее. Я думаю, что событие, подобное: element.on ('click', someFunction), не должно быть удалено, в то время как должно быть удалено событие типа $ ('# somenode'). On ('click', somefunction). Правильно ли это? – ira