Краткий ответ:
№
Длинный ответ:
Я не буду приводить один, поскольку ваш вопрос касается многих (сложных) тем, которые уже были объяснены в другом месте и, возможно, лучше, чем я мог бы сделать, но я приведу несколько полезных ссылок в моем кратком объяснении.
Средний ответ:
То, что вы просите, невозможно, потому что AngularJS использует другой подход для обнаружения изменений и привязок событий.
Одна из замечательных особенностей AngularJS / Angular - это способность обнаруживать изменения и выполнять обновления автоматически. Чтобы сделать это возможным, Angular (JS) должен заметить, если что-то изменится.
Используя ваш пример с событием click, AngularJS использует основанные на событии директивы, чтобы заметить событие click, тогда как Angular выполняет привязку события , используя одностороннюю привязку от представления шаблона к компоненту. Angular имеет такую возможность, потому что он использует зон, чтобы узнать об изменениях . Следовательно, директива не нужна, как AngularJS.
Это объясняет, почему вы не видите обработчики событий в элементе HTML, потому что Angular напрямую устанавливает привязку события. Вы можете убедиться, что событие обрабатывается Zone.js, если вы проверите вкладку Прослушиватели событий в Chrome:
Другие полезные ссылки на тему: