vue是沒有監(jiān)聽下標(biāo)賦值的操作也無法監(jiān)聽下面這種是無法監(jiān)聽的vararr=["a","b"];arr[1]="bbbb";vue只監(jiān)聽了'push','pop','shift','unshift','splice','sort','reverse'等直接改變?cè)瓟?shù)組的方法而$set,內(nèi)部還是splice方法functionset(target,key,val){if(Array.isArray(target)&&typeofkey==='number'){target.length=Math.max(target.length,key);target.splice(key,1,val);returnval}//其他操作...}但是如果你的結(jié)構(gòu)下面:vararr=["a",{text:"b"}];arr[1].text="bbbbb";因?yàn)閷?duì)數(shù)據(jù)進(jìn)行了遞歸對(duì)象的賦值是可以直接監(jiān)聽到的但是下面又不行了vararr=["a",{text:"b"}];arr[1]={text:"bbbbb"};總結(jié)來說不要數(shù)組下標(biāo)直接賦值vararr=["a",{text:"b"}];this.arr[1]={text:"bbbbb"};//除了這種以下都可以this.arr[1].text="bbbbb";//利用對(duì)象的監(jiān)聽this.arr=["a",{text:"bbbbb"}];//同上this.arr.splice(1,1,{text:"bbbbb"});//數(shù)組的監(jiān)聽this.$set(this.arr,1,{text:"bbbbb"});//同上