如何在Vue中访问子组件数据

时间:2018-12-23 21:38:00

标签: javascript vue.js firebase-realtime-database

我正在制作一个课程评估表,里面有这样的问题组件:

<question v-for="(question,index) in questions"
                :questionText="question.questionText"
                :question-index="++index"
                ref="questions"> </question>

每个问题都有一个单选按钮和一个与v-modal连接的结果字段。我想将每个问题的结果提交到Firebase数据库。

我需要从评估表(父级)访问结果,或者在问题组件中具有一个提交功能,然后调用它使每个问题提交其数据。

我尝试了裁判,但失败了,我也发现事件很难,最简单的方法是什么?

1 个答案:

答案 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;
    }