2017-05-09 58 views
0

我正在使用Vue JS,我有2個不同的陣列categoriesitems。每個項目可以屬於多個類別,這些項目是動態生成的,因此最初不會與類別數組關聯。然後我解析類別數組以創建包含不同項目的表格。使用拼接從陣列中刪除項目

出於測試目的,附上的項目它的相關聯的安裝VUE屬性類,如下所示:

mounted: function() { 
    for (let item of this.items) { 
    for (let category of item.categories) { 
     this.categories[category - 1].items.push(item) 
    } 
    } 
} 

然後按下刪除按鈕時,我觸發它使用拼接刪除deleteItem方法來自categories陣列的項目以及來自items陣列的項目,但我有一個小問題,那就是正確的項目不會被刪除。

methods: { 
    deleteItem: function(item) { 
     for (let category of item.categories) { 
     this.categories[category - 1].items.splice(this.categories[category - 1].items.indexOf(item, 1)) 
     } 
     this.items.splice(this.items.indexOf(item, 1)) 
    } 
    } 

請參閱示例Fiddle。任何幫助將不勝感激。

回答

2

變化

this.items.splice(this.items.indexOf(item, 1)) 

this.items.splice(this.items.indexOf(item), 1) 

讓你通過1作爲第二個參數splice

請注意,您執行兩次相同的錯誤。

+0

謝謝!沒有明白 – enriqg9