vue如何删除数组中的单个数据

我做了一个todolist的demo.

模板中用v-for列出todos中的数据.

            <ol>
                <li v-for="todo in todos" @click="delete">
                    {{todo.label}}
                </li>
            </ol>

数据结构是这个样子:

            data: {                todos: [
                    {label: 'walking'},
                    {label: 'talking'},

                ]
            }

页面是这个样子

https://img3.mukewang.com/5bd96b5b0001ed5a01500078.jpg

我想要当我点击一个todo的时候, 就在todos数据中删除对应的数据. 比如我点击walking, 那么todos中就只剩下talking, 页面自然就更新了. 但是一直找不到合适的方法. 求指导.


侃侃无极
浏览 9898回答 1
1回答

30秒到达战场

如果是vue1.0这样写:<ol> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li&nbsp;v-for="todo&nbsp;in&nbsp;todos"&nbsp;@click="delete($index)"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{todo.label}} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</li></ol>然后:methods:{&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;delete:function(index){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.todos.splice(index,1); &nbsp;&nbsp;&nbsp;&nbsp;} }如果是vue2.0这样写:<ol> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li&nbsp;v-for="(todo,index)&nbsp;in&nbsp;todos"&nbsp;@click="delete(index)"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{todo.label}} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</li>&nbsp;&nbsp;</ol>然后methods:{&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;delete:function(index){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.todos.splice(index,1); &nbsp;&nbsp;&nbsp;&nbsp;} }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript