Рассмотрим следующий компонент:
@Component({
selector: 'app-test'
template: 'Hello!'
}}
export class TestComponent {
@Output() readonly selectionChange = new EventEmitter<SomeTypeHere>();
}
С звонком:
<app-test (selectedChange)="selectedChangeHandler($event)"></app-test>
Обратите внимание, что я написал selectedChangeвместо правильного выходного имени selectionChange. Angular 9 с strictTemplatesвключенным флагом мне совсем не помог. Это молча провалилось. Интересно то, что если я делаю то же самое @Input, приложение ловит ошибки и не компилируется.
Есть ли способ выдать ошибку, если я попытаюсь «прослушать» несуществующее @Output?
@Output()в общей библиотеке или даже в приложении и забывает удалять вызовы ... и, поскольку у нас нет ошибок компиляции, как у нас @Input(), мы не можем точно найти, что вызывает определенные проблемы (или даже для того, чтобы не хранить мусор в коде). Модульные тесты могут быть полезны? Возможно, но пока невозможно из-за времени.
