v-model и объекты
Всем привет. Помогите разобраться с одним вопросом.
У меня на вью есть компонент, собирающий информацию о человеке в JSON В этом компоненте есть плашка с "вос вопрсосами". Вопросов может быть несколько Соответвенно в JSON эти вопросы должны выглядеть вот так:
"Question":"[{первый вопрос и параметры},{второй вопрос и параметры},{...},]"
Вопрос... Как на на вью собрать все эти данные в один массив ?
Сделать массив вопросов. По завершению работы с карточкой копировать данные из переменных v-model связянных с полями ввода в один объект (только у карточки нет кнопки или какого-то события, которое говорило бы о завершении), который будет лежать в массиве, а потом отчищать эти поля для новой карточки? Или может есть какой способ получше ? Нужно также сохранить доступ к этим данным в ходе заполнения карточки
Ответы (1 шт):
Для сбора всех вопросов и их параметров в один массив можно
- Создать массив для хранения вопросов
const questions = [];
- При каждом добавлении нового вопроса в плашку вопросов, создавать объект с параметрами и добавлять его в массив вопросов
questions.push({
question: 'Текст вопроса',
answer: 'Ответ на вопрос',
// Другие параметры вопроса
});
- После заполнения всех вопросов и создания объектов с их параметрами, собрать все объекты в один JSON-объект
const data = {
questions: questions
};
const jsonData = JSON.stringify(data);
Теперь в переменной jsonData будет находиться JSON-объект, содержащий массив с вопросами и их параметрами.
Чтобы сохранить доступ к данным в ходе заполнения карточки, можно использовать массив questions, который хранит объекты с параметрами вопросов. В этом массиве будут находиться все введенные пользователем данные, которые можно использовать для обработки или вывода на страницу. После завершения работы с карточкой можно очистить поля ввода и очистить массив questions для создания новой карточки.