2015-09-08 2 views
2

У меня возникла проблема, когда в некоторых ситуациях мне нужно полностью удалить атрибут ng-click = "" из элемента в зависимости от нескольких сценариев. Я пытаюсь выяснить, как удалить прослушиватель событий после удаления атрибута ngClick. Несмотря на то, что ngClick удален, прослушиватель событий все еще находится на этом элементе и выполняет ng-click независимо, даже если он отсутствует.Директива AngularJS Удалить ngClick attr и прослушиватель событий

Я удаляю атрибут ngClick в директиве "link" AngularJS. Любая идея, что я должен делать?

+0

Вы должны использовать 'data-ng-if' в этом случае. Узнайте больше об этом :-) – Vineet

+0

вы можете написать выражение в ng-click, так что сделайте что-то вроде i.e.ng-click = "isClickEnabled? DoSomething(): null" или записать его в 'doSomething()' fn. Насколько я знаю, вы можете просто удалить ng-click ... не так-то легко – Ronnie

ответ

2

Вы можете сохранить один флаг isClickEnabled, который скажет, что ng-click включен или отключен.

+0

@ Speedy059 это сработало для вас? –

+0

Я хотел бы изучить другие варианты, так как это сломает приложение, если мы когда-нибудь удалим эту функцию/директиву, которую добавляем. Поэтому важно, чтобы мы манипулировали ngClick в директиве, а не добавляли дополнительные переменные к значению. – Speedy059