0
点赞
收藏
分享

微信扫一扫

Vue2.x中对象和数组响应式的弊端和解决方案

小磊z 2022-04-16 阅读 54

一.在Vue2.x中,给对象加属性和删除属性,响应式会检测不到,无法动态的渲染在页面中

data(){
return:{
  person:{

   name:'zs',
   habby:['学习','吃饭']

}
}
}


methods:{
//向对象中添加属性
this.preson.sex="女" 
//改数组
this.person.habby[0]="逛街"
}

上面的代码虽然给对象添加属性和修改数组都可以加进去,但是在页面是不能动态显示出来

二.解决方法

1.对于对象的操作

增加:

方法一:this.$set(this.person,"sex","女")

方法二:import Vue from 'vue'

Vue.$set(this.person,"sex","女")

删除:

方法一:this.$delete(this.person,"name")

方法二:同上

2.对数组的操作

该数组:

方法一:this.$set(this.person.habby,0,"逛街")

方法二:同上

方法三:this.person.habby.splice(0,1,"逛街")

splice(开始的索引,删除数量,切换的内容)

举报

相关推荐

0 条评论