【问题标题】:Vuex Store Unknown Getters with NuxtVuex 使用 Nuxt 存储未知 Getter
【发布时间】:2018-05-22 06:25:07
【问题描述】:

我已经在 Vuejs 中完成了我的应用程序,现在由于 SSR,我决定在 Nuxt 上“重写”所有内容 :) 我几乎得到了所有东西,但有一个我没有得到的吸气剂。即使我很努力,我也无法做到,我不确定我错过了什么。

我正在使用 vuex 模块,所以我的 /store/categories.js 看起来像:

export const state = () =>  ({
  categories: [
    {
          name: 'category 1',
         id: '1'
         subcategories: [
        {
           name: 'Subcategory 1',
            id: '1.1'
        }
      ]
    },
    {
      name: 'category 2',
      id: '2',
      subcategories: [
        {
          name: 'Subcategory 2',
          id: '1.1'
        }
      ]
    }
  ]
})
export const getters = () => ({
filterCategory() {
    return state.categories
  },
})

这是上面的一个简单的吸气剂,我什至无法完成这项工作..

这是我的帖子/test.vue 页面:

<template>
  <div>
    <p>{{ filter }} </p>
    <p>{{ mainCategories }} </p>
  </div>
</template>
<script>

import { mapGetters } from 'vuex'

export default {
  name: 'test',
  layout: 'test',
  data () {
    return {
      search: '',
    }
  },
  computed: {
    ...mapGetters({
      filter: 'categories/filterCategory'
    }),
    mainCategories () {
      return this.$store.getters['categories/filterpazari']
    }
  },
}
</script>

我错过了什么?

【问题讨论】:

  • State 和 getter 不是函数,它们应该是对象 (export const state = {...})。
  • @Bert 你救了我的命 :) 我已经看到 State 必须 bo 一个函数,否则它将不起作用,所以我认为 getter 应该.. 除了不制作 getter 之外,我尝试了其他所有方法一个函数。这工作thnx

标签: vue.js vuejs2 getter vuex nuxt.js


【解决方案1】:

Getter 应该作为对象导出,而不是函数。

正如Bert 已经在评论中提到如何声明吸气剂。但是乍一看很难找到解决方案。所以这是格式化的答案。

const getters = {
  filterCategory: state => state.categories,
}

export default getters

感谢 Bert

【讨论】:

    猜你喜欢
    • 2019-10-19
    • 2018-10-11
    • 2019-05-26
    • 2021-07-01
    • 1970-01-01
    • 2020-01-12
    • 2021-02-10
    • 2023-02-03
    • 2018-03-08
    相关资源
    最近更新 更多