响应式可以刷新视图中数据
响应式可以刷新视图中数据
响应式可以刷新视图中数据

1
2
3
4
5
6
7
8
9
10
11
12
this.$set(对象, '属性', '值');
/// this.$set(this.obj, 'hobby', 'obj.Hobby');

[
'push',
'pop',
'shift',
'unshift',
'splice',
'sort',
'reverse'
]

demo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<div id="app">
<ul>
<li v-for="value in obj" :key="value"> {{value}} </li>
</ul>
<button @click="addAge">添加 obj.age</button>
<button @click="addHobby">添加 obj.hobby</button>
</div>

<script src="vue.js"></script>
<script>
const app = new Vue({
el: '#app',
data() {
return {
obj: {
name: 'obj.name'
}
}
},
methods: {
addAge () {
this.obj.age = 'obj.age';
console.log(this.obj)
},
addHobby () {
this.$set(this.obj, 'hobby', 'obj.Hobby');
console.log(this.obj);
}
}
});

</script>

强制刷新数据

1
this.$forceUpdate();