2017-01-24 22 views
0

我需要顯示項目列表,並且能夠在需要時擦除其中一個項目。刪除Vue.js中計算列表的項目

<tr v-for="(todo, key, index) in todo_list"> 
    <td><input v-model.trim="todo.priority" type="number"/></td> 
    <td><a v-on:click="todo_list.splice(index, 1)">Delete</a></td> 
    </tr> 

這裏的問題是,計算todo_list的事實。由於v模型,我可以編輯優先級。我可以注意到編輯。但我希望能夠刪除任何項目。它不會觸發任何錯誤或警告(vue.js文件未縮小)。

我試過Vue.delete(todo_list, index),我嘗試傳遞鍵而不是索引,在方法中做。沒有任何工作。注意:當我嘗試該方法時,我輸入了它:我可以在splice之前和之後登錄控制檯。

我可以創建一個屬性數據,將鏡像計算值,但我相信這將是無用的代碼。有沒有辦法實現這一點?

+0

你想從原始對象中刪除該項目的計算是由,或只是告訴計算不包括它? –

+0

你好羅伊!我想從原始對象中刪除它 – nlassaux

回答

1

如果每個待辦事項都有獨特的key,只需使用這些鍵從原始數據中刪除即可。

待辦事項:

{ 
    key: 0, 
    priority: 5, 
    ... 
} 

例子:http://codepen.io/CodinCat/pen/LxjLoE?editors=1010

v-on:click="() => remove(todo.key)" 

和remove方法:

remove (key) { 
    this.todoList = this.todoList.filter(todo => todo.key !== key) 
}