如何使用Vue组件$ set在单个文件组件中设置对象

时间:2019-10-23 02:18:57

标签: vue.js

在遵循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>

1 个答案:

答案 0 :(得分:2)

如果您在组件的上下文中使用它,则只需

this.$set(this.userProfile,....)