2016-04-15 63 views
0

我无法找到更新我的项目数组的项目的方法。更新DataSet中的项目

我想要做的是删除一个项目,然后将其推入列表中,如果此项目已经存在。我不想做的是遍历所有项目,找到一个我必须删除的女巫,如果有的话。

我tryied使用观察家:

watch: { 
    list: function (list, oldList) {  
     } 
} 

但因为我得到了新老名单,我还需要进行迭代。

检查文档我发现了一个$remove方法:

将搜索数组中的值,并移除所述第一发生。

所以我尝试this.list.$remove(item.Id),但它不起作用。

我试着用JQuery.grep()选择正确的项目,但它需要迭代,所以这是一个没有。

vue.js中有什么方法来执行我想要做的事情吗?

编辑

我可以选择合适的项目,以删除与$eval方法:

var expr = "list | filterBy " + value.Id + " in 'Id'"; 
var item = this.$eval(expr); 
this.list.$remove(item); 

但现在,我有我的项目中,$remove方法似乎没有做的工作。我用错了什么吗?

+0

我不认为有可能没有迭代数组 –

+0

@GuillaumeBeauvois你应该取消删除[this](http://stackoverflow.com/questions/37275633/)的问题。我想我有一个解决方案。 – Nasreddine

回答

1

是不是this.list.$remove(item)够了? Vue会为你搜索数组并删除适当的项目。其实这正是你在用$eval方法所做的。