vue中 给对象添加属性并赋值
vue中对象的添加属性并赋值
如果在vue中给dataform={}中增加age属性并进行赋值
使用this.dataform.age='18',
会报this.dataform.age undefined
原因:
受现代 JavaScript 的限制 (以及废弃 Object.observe),Vue 不能检测到对象属性的添加或删除。由于 Vue 会在初始化实例时对属性执行 getter/setter 转化过程,所以属性必须在 data 对象上存在才能让 Vue 转换它,这样才能让它是响应的。
所以在vue实例创建之后添加的属性不是响应式的
三种解决办法
-
Vue.set(object,key,value)
-
this.$set(object,key,value)
-
利用Object.assign({},this.obj)
三种解决办法
//Vue.set(object,key,value)
//this.$set(object,key,value)
//利用Object.assign({},this.obj)
let obj = {
age:18
}
this.obj.name = '张三'
Object.assign({},this.obj)
本文作者:张尊娟
本文链接:https://www.cnblogs.com/wszzj/p/17106592.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2020-02-09 computed计算属性(get和set)
2020-02-09 sort排序运用,注册事件,v-for,v-bind( :)运用