点击按钮数据改变了,视图没更新
原因是在Vue创建实例时,并没有声明obj.b,所以没有被转Vue换成响应式属性,自然就不会触发视图的更新,这时就需要使用Vue的全局api
this.$set(this.obj, 'b', 'obj.b')
<template>
<div>
<ul>
<li v-for="value in obj" :key="value">
{{value}}
</li>
</ul>
<button @click="addObjB">添加obj.b</button>
</div>
</template>
<script>
export default {
data () {
return {
obj: {
a: 'obj.a'
}
}
},
methods: {
addObjB () {
this.obj.b = 'obj.b'
console.log(this.obj)
}
}
}
</script>
Vue中给data中的对象属性添加一个新的属性时会发生什么,如何解决?
最新推荐文章于 2024-01-28 00:00:00 发布