2016-04-15 80 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方法所做的。