Wenn ich versuche, zu einem Array in Typescript (in Ionic2 gewickelt) hinzuzufügen, bekomme ich eine Fehlermeldung, dass das Array nicht definiert ist, obwohl ich es deklariert habe. Ich habe versucht, es mit zwei verschiedenen Deklarationen zu deklarieren und das Problem nicht gefunden. Die beiden Erklärungen I verwendet werden, sind:Kann Eigenschaft nicht lesen 'Push' von undefined - Typescript
tracker: any[];
und
tracker: Array<any>;
Das erste Mal, wenn ich versuche, etwas zu dem Array hinzufügen und wo ich die Fehler unten zu bekommen. Ich wollte die ganze Funktion enthalten, falls es etwas drin war, die neu definiert werden könnte, was ‚dies‘ ist:
// Answer Correctly
answerQuestionCorrectly(answer) {
let answerButton = <HTMLButtonElement>document.getElementById('answer-' + answer.AnswerId);
answerButton.addEventListener('click', (event) => {
// Increase the score
this.currentScore = this.currentScore + this.countdown;
// Set up quiz review
var correct = answer.AnswerText;
var qTrack = {no: this.questionNo, q: this.questionText, a: answer.AnswerText, c: correct}
console.log(qTrack);
this.tracker.push(qTrack);
console.log(this.tracker);
// Check for end of questions
if (this.questionNo < this.noOfQuestions) {
// Remove the old answers
var parent = document.getElementById('answers');
this.answers.forEach(element => {
var button = <HTMLButtonElement>document.getElementById('answer-' + element.AnswerId);
parent.removeChild(button);
});
// Re-init the timer
this.timer.initTimer();
// Load Next Question
this.loadQuestion();
} else {
// End the Quiz
this.endOfQuiz();
}
});
}