我正在制作一个课程评估表,里面有这样的问题组件:
<question v-for="(question,index) in questions"
:questionText="question.questionText"
:question-index="++index"
ref="questions"> </question>
每个问题都有一个单选按钮和一个与v-modal连接的结果字段。我想将每个问题的结果提交到Firebase数据库。
我需要从评估表(父级)访问结果,或者在问题组件中具有一个提交功能,然后调用它使每个问题提交其数据。
我尝试了裁判,但失败了,我也发现事件很难,最简单的方法是什么?
答案 0 :(得分:1)
我想出了带有事件的解决方案:
对于那些在活动方面也遇到困难的人
这是我的解决方案:
有疑问的(孩子):
<input type="radio" :value="point" v-on:click="sendAnswer(point)" v-bind:name="'answer' + questionIndex">
methods: {
sendAnswer: function(point) {
this.answer = point;
const index = this.questionIndex-1;
this.$emit('send-answer', {answer: this.answer, index: index});
},
}
关于父母:
<question v-for="(question,index) in questions"
:questionText="question.questionText"
:question-index="++index"
@send-answer="getAnswer"> </question>
getAnswer(e) {
this.answers[e.index] = e.answer;
}