首页 > 其他 > 详细

vue中 this.$set

时间:2020-07-10 12:05:30      阅读:74      评论:0      收藏:0      [点我收藏+]

背景:

vue开发时,编辑页面更改时间的值,发现值更改了,但是视图上却没有更新

原因:

在实例创建之后添加新的属性到实例上,如果更新此属性的值,它不会触发视图更新。

受 ES5 的限制,Vue.js 不能检测到对象属性的添加或删除。因为 Vue.js 在初始化实例时将属性转为 getter/setter,所以属性必须在 data 对象上才能让 Vue.js 转换它,才能让它是响应的。

解决办法:

使用 this.$set(this.data, ‘key‘, ‘value‘) 语句为对象添加属性

 

如下代码,给 student对象新增 age 属性

data () {
  return {
    student: {
      name: ‘‘,
      sex: ‘‘
    }
  }
}

正确写法

mounted () {
  this.$set(this.student, ‘age‘, 24)
}

 

vue中 this.$set

原文:https://www.cnblogs.com/mlllily/p/13278375.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!