Ладно, здесь много чего происходит, и я думаю, что вам будет легче разбить некоторые точек, по которым вы можете играть и учиться.
Добавление входных данныхЯ думаю, что имеет больше смысла, чтобы значения были в массиве.Используя Vue, вы можете перебирать этот массив, чтобы каждый элемент массива имел свой собственный <input/>
, а также просто добавлять другой элемент массива для добавления нового ввода:
<template>
<div>
<div v-for="(tax, index) in taxes" :key="index">
<input v-model="taxes[index]" />
</div>
<button type="number" @click="add">Add</button>
<p>Count: {{taxes.length}}</p>
</div>
</template>
<script>
export default {
data(): {
return {
taxes: [0]
}
},
methods: {
add() {
this.taxes.push(0);
}
}
});
</script>
Теперь, что касается счетчика, яне знаю, что вы имеете в виду проверить на бэкэнде.Вы могли бы добавить наблюдателя в массив taxes
и обрабатывать изменения там?Наблюдатели используются с осторожностью, так как вычисляемые свойства гораздо предпочтительнее, но они могут иметь смысл, если вам нужно отправлять данные на сервер, а не в DOM.
Прописка counter
, которую вы зарегистрировали в своем коде,на самом деле не собираюсь работать по шаблону, который я показал.Обычно реквизиты предназначены для родительских компонентов для передачи данных дочерним компонентам.Предпочтительным шаблоном при отправке данных от потомка к родителю является использование $ emit.Подробнее здесь .