问题:vue
rightSelectChange:function (item) { let filterArr=this.selectData.filter(value=>{ return value.id!==item.id }); this.selectData=filterArr; console.log(filterArr); console.log(this.selectData); this.filterData(); },
打印结果是:this.selectData的值仍是原来的值 没有改变框架
问题2:this
let item={id:1,name:'aaa'}, let selectData=[{id:1,name:'aaa'},{id:2,name:'bbb'}] let filterArr=selectData.filter(value=>{ return value.id!==item.id; }) selectData=filterArr; console.log(filterArr); console.log(selectData);
打印结果:selectData的值改变了spa
解析:原来觉得跟数据类型的指针有关,可是问题2显示不会,指针
问题1是再vue中写的,后来换了一种写法code
改写后blog
rightSelectChange:function (item) { this.selectData.forEach((value,index)=>{ if(value[this.props.key]===item[this.props.key]){ this.selectData.splice(index,1); } }); this.filterData(); },
打印结果:this.selectData的值改变了,可能跟vue的框架有关吧it