Как мне создавать динамические модели в Vuejs?

#vue.js

#vue.js

Вопрос:

Итак, у меня есть приложение для опроса, и я хочу сохранить все ответы в некоторой модели, чтобы в дальнейшем отправить ее на серверную часть. Вопросы передаются компоненту. Проблема, с которой я сталкиваюсь, заключается в хранении ответов.

Итак, вот мой компонент:

 <template>
    <div>
        <div class="form-group" v-for="(question, questionIndex) in questions">
            <label>{{question.question}}</label>
            <select v-model="answers[questionIndex]" class="form-control">
                <option v-for="answer in question.answers" v-bind:value="answer.value">{{answer.value}}</option>
            </select>
        </div>
    </div>
</template>

<script>
    export default {
        props: ['questions'],
        data() {
            return {
                answers: []
            }
        },
        methods: {

        },
        mounted() {

        }
    }
</script>
 

Дело в том, что когда я выбираю и отвечаю — свойство answers data по-прежнему является пустым массивом и не добавляет key => value к нему новое. Как мне это решить?

Комментарии:

1. Проверьте это: codesandbox.io/s/pxo24

2. @dhruwlalan, так что у меня есть точно такой же для отображения вопросов, и никаких проблем с этим — поскольку они отображаются правильно. Теперь я не знаю, как хранить ответы, так как массив answersList просто не заполняется.

3. какую версию vue вы используете?

4. @dhruwlalan vue2

5. @dhruwlalan — нашел причину разницы. Проблема в том, что я пытаюсь использовать ключи на основе строк для ответов на вопросы, так как мне нужно записать ключ вопроса для ответа.