【问题标题】:Why are my Pinia store getters undefined?为什么我的 Pinia 商店吸气剂未定义?
【发布时间】:2021-11-05 03:39:27
【问题描述】:

我正在尝试将 Pinia 与 vue 2 和组合 API 一起使用。 我按照文档安装pinia@next,将它与Vue.use(PiniaPlugin) 一起使用,并在应用程序中使用Vue({ ..., pinia: createPinia() })

当我从文档创建商店复制粘贴时

export const useStore = defineStore('main', {
  state: () => ({
    counter: 1,
  }),
  getters: {
    doubleCount: (state) => state.counter * 2,
  },
})

在一个组件中,做

<template>
  <p>Double count is {{ store.doubleCount }}</p>
  <p>Counter is {{ store.counter }}</p>
</template>

<script>
export default {
  setup() {
    const store = useStore()

    return { store }
  },
}
</script>

为什么我的 getter doubleCount 总是 undefined (从 setup() 检查或尝试在模板中使用时? store.counter 显示正确的值。

我对 Vue 和 Pinia 都是新手,所以我一定是在这里做错了。

【问题讨论】:

    标签: vue.js vuejs2 vue-composition-api


    【解决方案1】:

    事实证明,当前的 @next -version (2.0.0-rc8) 在商店中破坏了 getter。 https://github.com/posva/pinia/issues/660

    使用 @latest 对我有用,需要对 store defineStore 语法进行细微修改(id 属性而不是名称作为第一个参数)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-18
      • 1970-01-01
      • 2021-12-03
      • 2021-10-04
      • 2020-05-11
      • 2021-02-27
      • 2021-04-14
      相关资源
      最近更新 更多