Vue中的$set的使用实例代码
程序员文章站
2022-03-20 15:25:56
vue —$set
在我们使用vue进行开发的过程中,可能会遇到一种情况:当生成vue实例后,当再次给数据赋值时,有时候并不会自动更新到视图上去;
当我们去看vue文档...
vue —$set
在我们使用vue进行开发的过程中,可能会遇到一种情况:当生成vue实例后,当再次给数据赋值时,有时候并不会自动更新到视图上去;
当我们去看vue文档的时候,会发现有这么一句话:如果在实例创建之后添加新的属性到实例上,它不会触发视图更新。
如下代码,给 student对象新增 age 属性
data () { return { student: { name: '', sex: '' } } } mounted () { // ——钩子函数,实例挂载之后 this.student.age = 24 }
原因是:受 es5 的限制,vue.js 不能检测到对象属性的添加或删除。因为 vue.js 在初始化实例时将属性转为 getter/setter,所以属性必须在 data 对象上才能让 vue.js 转换它,才能让它是响应的。
要处理这种情况,我们可以使用$set()方法,既可以新增属性,又可以触发视图更新。
但是,值得注意的是,网上一些资料写的$set()用法存在一些问题,导致在新接触这个方法的时候会走一些弯路!
错误写法:this.$set(key,value)
(ps: 可能是vue1.0的写法)
mounted () { this.$set(this.student.age, 24) }
正确写法:this.$set(this.data,”key”,value')
mounted () { this.$set(this.student,"age", 24) }
总结
以上所述是小编给大家介绍的vue中的$set的使用,希望对大家有所帮助
上一篇: ruby安装gem包失败的通用解决方法
下一篇: 常见文本类css属性
推荐阅读
-
C#中this的使用实例分析
-
在vue中如何使用cropperjs的方法(详细教程)
-
Spring boot + mybatis + Vue.js + ElementUI 实现数据的增删改查实例代码(一)
-
PHP中抽象类和接口的使用方法(代码)
-
解析PHP中的crypt()函数(附代码实例)
-
Spring boot + mybatis + Vue.js + ElementUI 实现数据的增删改查实例代码(二)
-
iOS中只让textField使用键盘通知的实例代码
-
iOS中关于音乐锁屏控制音乐(锁屏信息设置)的实例代码
-
java使用动态代理来实现AOP(日志记录)的实例代码
-
iOS中 UIImage根据屏宽调整size的实例代码