Vue Vuex状态观察不适用于首次加载

时间:2019-06-14 14:14:28

标签: vue.js vuex

我有以下代码来使用手表获取新ID。它的工作正常。但是,我还需要该函数在首次加载时也获取ID,这是行不通的。我的代码中缺少什么吗?


watch: {
    id: {
      immediate: true,
      handler(newV, oldV) {
        this.id = newV;
      },
    },

  },
   mounted () {
    store.watch(store.getters.getId, id => {
      this.id = id;
    });
  },
  created() {
    this.userID();  
  },
  methods: {
      userID () {
         console.log('this.id);
      }
  }
}

1 个答案:

答案 0 :(得分:0)

您可以这样做:

data() {
  return {id: null}
}
watch: {
    '$store.getters.getId': {
      immediate: true,
      handler: function(newV) {
        this.id = newV
      },
    },
  }

使用计算属性更好,因为您的组件不“拥有ID”。

computed: {
    id() {
      return this.$store.getters.getId
    },
  },