Как получить доступ к данным дочерних компонентов в Vue - PullRequest
0 голосов
/ 24 декабря 2018

Я делаю форму оценки курса, в ней есть компоненты вопроса, подобные этим:

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

каждый вопрос имеет переключатель и поле результата, связанное с v-modal.Я хочу представить результат для каждого вопроса в базу данных Firebase.

Мне нужно либо получить доступ к результату из формы оценки (родительский), либо использовать функцию отправки в вопросном компоненте и вызвать ее, чтобы каждый вопрос отправлял свои данные.

Я пробовал ссылки, но яне удалось, я тоже нахожу события довольно сложными, какой самый простой способ?

1 Ответ

0 голосов
/ 24 декабря 2018

Я разобрался с решением по событиям:

Для тех, кто тоже испытывает трудности с событиями

Вот мое решение:

По вопросу (ребенок):

            <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;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...