Heim  >  Fragen und Antworten  >  Hauptteil

javascript - 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'},

                ]
            }
            

页面是这个样子

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

大家讲道理大家讲道理2726 Tage vor707

Antworte allen(3)Ich werde antworten

  • PHP中文网

    PHP中文网2017-04-11 09:50:28

    如果是vue1.0这样写:

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

    然后:

    methods:{
        
        delete:function(index){
            this.todos.splice(index,1);
        }
    }
    

    如果是vue2.0这样写:

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

    然后

    methods:{
        
        delete:function(index){
            this.todos.splice(index,1);
        }
    }

    Antwort
    0
  • PHP中文网

    PHP中文网2017-04-11 09:50:28

    可以参考一下官方的demo:
    https://vuejs.org/v2/examples...

    Antwort
    0
  • 阿神

    阿神2017-04-11 09:50:28

    你点击的时候需要得到todo的索引,再对todos数组进行
    arr.splice(index,1);

    Antwort
    0
  • StornierenAntwort