Vue.js 能否从vuex中创建的钩子调用getter?

Vue.js 能否从vuex中创建的钩子调用getter?,vue.js,vuex,getter,Vue.js,Vuex,Getter,我有一个getter返回篮子中的总价格。我需要在组件第一次呈现时调用这个getter。在创建的钩子中调用此getter正确吗 created(){ return this.$store.getters.getTotalPrice; } getter getTotalPrice(state){ for (let i in state.basket){ state.totalPrice += state.basket[i].productPrice; } }

我有一个getter返回篮子中的总价格。我需要在组件第一次呈现时调用这个getter。在创建的钩子中调用此getter正确吗

created(){
    return this.$store.getters.getTotalPrice;
}
getter

getTotalPrice(state){
    for (let i in state.basket){
        state.totalPrice += state.basket[i].productPrice;
    }
}

以下是实现此目标的方法:

Vue组件:

<script>
export default {
  data() {
    return {
       totalPrice:0
    };
  },
  created: function () {
    let self = this;
    self.totalPrice = self.$store.getters.getTotalPrice;
    console.log(self.totalPrice);
  },
};
</script>

你测试过它是否有效吗?是的,我有错误“getTotalPrice未定义”hi@ceren,欢迎来到,所以你的问题的答案是肯定的。你可以建议你查看如何提问的指南,因为这个问题很快就会被否决。。。可能您所面临的问题与在所创建的钩子中调用getter无关,我同意这应该是可行的。Vuex应用商店实现可能存在问题,您没有显示该问题。另外,您正在created()中返回getter,但没有将返回值设置为任何值。此外,getter通常用于返回一个状态。您在修改状态,是否可以改为使用操作?你应该用getter返回一些东西,在创建的钩子中,将getter返回的值分配给一个组件变量,也许请说明你想要实现什么,这样我们可以帮助你更多,引用self有什么意义?它们将指向同一个对象。。如果是self.$商店将在您提出的解决方案中起作用。那这个也行。$商店也行。两者都行。
const getters = {
  getTotalPrice: (state) => {
    let totalPrice = 0;
    for (let i in state.basket){
        totalPrice += state.basket[i].productPrice;
    }
    return totalPrice;
  },
};
export default {
  state,
  mutations,
  actions,
  getters
}