Экземпляр Vue может позволить вам создавать вложенные модели просмотра. Например, рассмотрим следующийКак создать вложенную область привязки в vue.js?
new Vue({
el: '#app',
data: {
form: {
firstName: "Joe",
lastName: "Bloggs"
}
},
computed: {
name: function() {
return this.form.firstName + ' ' + this.form.lastName;
}
}
});
Как вы можете видеть, есть вложенный объект форм-данных: form.firstName и form.lastName. Я могу связать это представление-модель для HTML со следующим:
<div id="app">
<form>
<label>
First:
<input type="text" v-model="form.firstName">
</label>
<label>
Last:
<input type="text" v-model="form.lastName">
</label>
</form>
<div>
You are: {{name}}
</div>
</div>
Here's a JS Fiddle for this Vue.js example
Теперь мой вопрос: есть ли простой способ (например, директива), чтобы создать вложенный связывающий объем, который позволяет мне для адреса firstName и lastName без предыдущей «формы»?
Knockout.js имеет with binding, который позволяет явно указать область привязки в зависимости от вашей модели представления. Here is a JS Fiddle showing Knockout.js using the with binding
Есть ли простой аналог для нокаута with binding в Vue?
, насколько я знаю, не так. Вы можете обращаться к firstName и lastName только с помощью предшествующей «формы». Кстати, пример в vue выглядит проще, чем при нокауте. –
Как отметил Назгуль Мамашева, вы не можете сделать это точно так. Однако вы всегда можете сделать форму автономным компонентом и передать ему объект данных формы в качестве опоры. – Kano