Я относительно новичок в VueJS, и мне интересно, как встраивать/ссылаться на свойства компонента внутри других, так что привязка v-model фактически обновит их правильно.Вложенная модель данных VueJS
Чтобы проиллюстрировать, я пытаюсь сделать что-то подобное.
Шаблон:
<table>
<tr v-for="field in myFields">
<td class="label">{{field.label}}</td>
<td class="user-control">
<input v-model="field.model">
</td>
</tr>
</table>
Компонент:
export default {
data() {
return {
myFields: [
{
"label": "label",
"model": this.propertyOne
},
{
"label": "label",
"model": this.propertyTwo
}
],
propertyOne: "",
propertyTwo: ""
}
}
}
В этом примере я ожидаю шаблон для отображения значений propertyOne и propertyTwo (например, пустая строка) на входах в первом, и затем обновляйте эти значения, когда я их изменяю с помощью ввода, как это обычно делается с v-моделью.
Первые работы, что означает, что если я установил свойствоOne в значение «Foo», он сначала будет использоваться в качестве входного значения, но последующие изменения по-прежнему не обновляют свойства. Мне бы очень хотелось, чтобы это работало, чтобы я мог использовать силу v-for hook вместо того, чтобы записывать массивный статический шаблон, если у меня больше 10 полей.
Спасибо за ответ. Проблема, с которой я столкнулась, заключается именно в этом: поскольку свойствоTwo привязано к вводу, используя директиву v-model через свойство «model» объекта, изменения, внесенные во входное значение, не запускают наблюдателя на propertyTwo. Я еще не пробовал с вычисленными свойствами, так как я уверен, что они являются однонаправленными, так что это тоже не решит проблему, но, возможно, я ошибаюсь. –
@BrendanB. если вы используете 'propertyTwo' с v-model, он должен запускать наблюдателей, вы можете добавить этот код или создать скрипку? – Saurabh
вы можете видеть, чего я пытаюсь достичь в начальном посте. Я хочу использовать 'field.model' в директиве v-model вместо' propertyTwo', чтобы я мог использовать директиву v-for для циклического преобразования данных. Если бы я использовал 'propertyTwo' в шаблоне, то v-for был бы бесполезным, поскольку мне нужно было бы вручную объявить привязки свойств в шаблоне, не так ли? –