У меня странная проблема, у меня есть проект на Angular 5.2.11 с родительским и дочерним компонентами.Все работало нормально, пока я не добавил декоратор @Output в дочерний компонент, чтобы передать ответ родительскому компоненту.Это дочерний TS:
questionCorrectAnswer:number;
nextQuestion(){
this.nextQuestionEvent.emit({});
}
Это дочерний HTML
<a (click)="nextQuestion()" class="btn btn-primary">Go to next question</a>
В родительском HTML у меня есть это:
<app-question-displayer (nextQuestionEvent)="nextQuestion($event)"></app-question-displayer>
И, наконец,Файл TS родительского файла имеет следующий вид:
setQuestion(idx:number){
this.currentQuestion=this.exam.questions[idx];
this.questionDisplay.setupQuestion(this.currentQuestion);
}
nextQuestion(event){
this.currentQuestionIndex++;
this.setQuestion( this.currentQuestionIndex);
}
И как только страница загружается, он перенаправляет меня на домашнюю страницу, и в консоли Chrome я вижу эту ошибку:
Как видите, это не очень описательная ошибка, так как я ее погуглил, но обнаружил другие ошибки, которые не имеют ничего общего с моей.
Есть что-тоЛюбопытно, если я удалю слушатель события (nextQuestionEvent) = "nextQuestion ($ event)" в теге app-question-displayer, приложение не завершится сбоем.
Как вы думаете, что это может быть ??
Заранее спасибо!
Редактировать:
Это определение вывода:
@Output() nextQuestionEvent:EventEmitter<any>;