vuejs中v-for遍历出来的select的问题

1.在用vuejs写一个功能时,用v-for遍历一个列表,每个列表中都包含一个select控件,但是当我删除这个列表中的一个项时,删的不是我指定的那个项?

2.贴上代码:

html:

                        <div class="item" v-for="(todo,index) in todos">
                            <div class="choose-block">
                                <span class="remove-btn" v-on:click="removeTodo(index)">x</span>
                                <choose-spec></choose-spec>
                                <div class="add-btn">
                                    <a href="javascript:;">+ 添加</a>
                                </div>
                            </div>
                        </div>
                        
                        

js:

var vm = new Vue({
        el: '#app',
        data: {
            todos: [],
            i:1
        },
        methods: {
            appendTodo: function(){
                this.todos.push(this.i++);
            },
            removeTodo: function(index){

                this.todos.splice(index,1);
                //this.todos.splice(this.todos.indexOf(todo),1);
            }
        }

    })
    

效果:当我删除型号这个项时,反而把下边的给删除了,可是todos数组中删的明明是索引为0的那个元素,晕了,怎么回事?

阅读 11.7k
2 个回答

首先确定你的vue版本是1还是2?

1的v-for参数顺序是 (index, value)

2的v-for参数顺序是 (value, index)

这是可以的,但是要先确定你的vue版本,参考楼上

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题