1. Vue中不可以添加不存在的属性,因为不存在的属性是没有getter和setter的。
<div id="app">
{{msg.a}}
{{msg.b}}
</div>
<script src="js/vue.js"></script>
<script>
let vm = new Vue({
el: "#app",
data: {
msg: {
a: 1
}
}
})
vm.msg.b = 2; //这样添加数据不会在视图中显示出来
</script>
2. 关于如何添加一个动态属性我们可以使用Vue提供的方法:实例.$set(对象, 属性名, 属性值);
<div id="app">
{{msg.a}}
{{msg.b}}
</div>
<script src="js/vue.js"></script>
<script>
let vm= new Vue({
el: "#app",
data: {
msg: {
a: 1
}
}
})
vm.$set(msg, "b", 2) // 使用Vue提供的$set设置动态数据
</script>
3. 当然我们可以直接给对象赋予一个新值,新增也会有getter和setter方法
<div id="app">
{{msg.a}}
{{msg.b}}
</div>
<script src="js/vue.js"></script>
<script>
let vm= new Vue({
el: "#app",
data: {
msg: {
a: 1
}
}
})
vm.data = {a: 1, b: 2} // 赋予新值也可以添加动态数据
</script>
提示:我们想要使用某个数据,最好还是在 data对象中初始化方便以后使用哦!