我收到了这个错误:
类型'测验[]' 中不存在问题
这是我的模特
export interface Quiz {
$key ?: string;
categorie ?: string;
questions : Questions[]
}
export interface Questions {
id ?: number;
question ?: string;
answer?: string;
}
这是我的代码
import {Quiz} from "../models/quiz";
export class ProfComponent {
quiz = [] as Quiz[];
nextQuestion(quiz) {
this.quiz.questions.push(quiz.questions)
}
}
我无法将数据推送到测验。问题
可能出错?
答案 0 :(得分:0)
在推送值之前,您需要初始化数组
nextQuestion(quiz) {
this.quiz.questions = [];
this.quiz.questions.push(quiz.questions);
}
答案 1 :(得分:0)
您通过quiz
将Quiz[]
属性声明为数组,因此您需要访问数组项才能访问questions
属性。
但您可能希望将该属性重新声明为Quiz
...
您还需要首先实例化questions
数组才能在其上调用push
。
import {Quiz} from "../models/quiz";
export class ProfComponent {
quiz = {questions: []} as Quiz;
nextQuestion(quiz) {
this.quiz.questions.push(quiz.questions)
}
}
或者如果你想要有一系列的quizes,可以这样做:
import {Quiz} from "../models/quiz";
export class ProfComponent {
quizes = [{questions: []}] as Quiz[]; // array of Quiz objects
nextQuestion(quiz) {
this.quizes[0].questions.push(quiz.questions); // access the first quiz
}
}
答案 2 :(得分:0)
无论
quiz = new Quiz();
或
this.quiz[0].questions.push(quiz.questions)
当您将quiz
初始化为数组时,您需要寻址特定的数组条目以获取实际的Quiz
,或者如果不是意图,则不要将其设为数组