問題: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