vuejs 1.x中如何删除某个数组?已经给定数组索引

看了官方文档,提供了一个:$remove.
但我给定了索引,也没删除,也没报错,查看对象还是存在数据.

我的数据结构如下:

   var tabData={
        "tabs":[{
         id:0,
         url:"index.html",
         text:"首页"
        }]
    };
    
     var tabsItemVm=new Vue({
        el:'.J_menuTabs',
        data:tabData,
        methods:{
            'delTab':function(id){//根据id去查找删除
                var index=0;
                for( i in tabData.tabs){
                    if(tabData.tabs[i].id==id){
                        index=i;  //索引
                    }
                }
                this.tabs.$remove(index); //没效果?
            }    
        }
    })
阅读 4.3k
2 个回答

题主那个i未申明,成全局变量了。

然而这个问题在于:请先检查id传进来的是什么,然后。 http://cn.vuejs.org/api/#arra...

通过索引删除数组元素并触发视图更新。这个方法先在数组中搜索这个元素,如果找到了则调用 array.splice(index, 1)。

移出使用当前对象

this.items.$remove(item)

当然,也可以用索引

var index = this.items.indexOf(item)
if (index !== -1) {
  this.items.splice(index, 1)
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题