【发布时间】:2015-11-01 04:49:17
【问题描述】:
简单的待办事项应用程序。请原谅我的无知提出了一个相当基本的问题。
但是您将如何处理和编辑数组中的某个项目?
通常我会尝试将输入的值绑定到我的数据对象上的新属性,然后通过 Vue 的双向数据绑定将这个新属性分配给旧属性。
像这样:http://jsfiddle.net/z7960up7/
在我的例子中,我使用 v-repeat 指令,它循环遍历我的数据数组,但我不能使用 v-model 指令来使用双向数据绑定,因为如果我这样做,属性的值会损坏所以。 (见这里:http://jsfiddle.net/doL46etq/2/)
现在我想知道,我将如何更新我的任务数组:
我的想法是在点击时通过我的方法传递 VueObject (this),然后在我的事件处理程序上定义索引,然后使用索引更新任务数组,如下所示:
HTML:
<input v-el="editInputField" type="text" value="{{ task.body }}" v-on="keyup: doneEdit(this) | key 'enter'"/>
<button v-on="click: editTask(this)">
Edit
</button>
JS:
methods: {
editTask: function (task) {
var taskIndex = this.tasks.indexOf(task.task);
this.tasks[taskIndex] = {
'body': document.querySelector('input').value,
'completed': false
};
console.log(task.task.body);
},
}
这是我的小提琴:
http://jsfiddle.net/doL46etq/3/
但是数据对象根本没有更新,我想知道我将如何处理它并更新它。
使用 Vue 编辑数组元素的最佳方法是什么?
编辑:一种简单的方法,就是删除元素,然后使用 push 方法将新元素添加到数组中,但我真的只想更新元素,因为我喜欢保持数据对象与我的后端。
【问题讨论】:
标签: javascript arrays laravel vue.js