Vue element input 双向绑定 修改对象的值无效
看了这位老哥截的官方文档的一句话就瞬间开朗了:借鉴的文章Vue官方文档解释我直接说说,是什么操作导致的无效:我把一个对象赋值给data中的obj(真实情况是,我通过请求进行赋值):data() {return {obj:{}}},fun(){this.obj = {test:'1'}}但是我需要给这个obj,添加新的键值,所以在赋值结束之后,我又添加了一个属性fun(){this.obj = {t
·
看了这位老哥截的官方文档的一句话就瞬间开朗了:
借鉴的文章
Vue官方文档解释
我直接说说,是什么操作导致的无效:
我把一个对象赋值给data中的obj(真实情况是,我通过请求进行赋值):
data() {
return {
obj:{}
}
},
fun(){
this.obj = {test:'1'}
}
但是我需要给这个obj,添加新的键值,所以在赋值结束之后,我又添加了一个属性
fun(){
this.obj = {test:'1'}
this.obj.newkey = 'new'
}
我再将这个newkey跟input进行双向绑定( v-model):
<el-input v-model="obj.newkey"/>
可以尝试的进行输入,发现input中的值会跳回原来的。
那么如何解决呢? 加入新的键值要在赋值给data之前,即:
fun() {
const obj = {
test:'1'
}
obj.newkey = 'new'
this.obj = obj
}
更多推荐
已为社区贡献4条内容
所有评论(0)