在遵循Vue.js教程之后,我在这里https://vuejs.org/v2/guide/list.html#Object-Change-Detection-Caveats中阅读了此部分:
var vm = new Vue({
data: {
userProfile: {
name: 'Anika'
}
}
})
// It was stated in the tutorial that, the below will add to userProfile
// while making sure userProfile still being reactive
vm.$set(vm.userProfile, 'age', 27)
很好,想尝试一下vm.$set
函数。
但是,我的实现是在单个文件组件中,例如像这样的东西:
<script>
export default {
name: 'Test',
data() {
return {
userProfile: {
name: 'Anika'
}
};
}
}
</script>
如何获取上面的 vm 变量?我已经尝试了以下代码,但是没有用……出错:
vm。$ set不是函数
<script>
let vm = {
name: 'Test',
data() {
return {
userProfile: {
name: 'Anika'
}
};
}
}
vm.$set(vm.userProfile, 'age', 27)
export default vm;
</script>
答案 0 :(得分:2)
如果您在组件的上下文中使用它,则只需
this.$set(this.userProfile,....)