【问题标题】:Vuex If statement check store.state value in asyncDataVuex If 语句检查 asyncData 中的 store.state 值
【发布时间】:2021-04-06 09:13:25
【问题描述】:

我必须在 asyncData 中使用 if 语句。

  asyncData(context) {
    if (dataType === 'individual') {
      return fetchPageData(context, 'dashboard');
    } else {
      return fetchPageData(context, 'dashboardCompany');
    }
  },
  computed: {
    ...mapState({
      dataType: (state) => state.user.user.type,
    }),
  },

这段代码给我一个“错误'dataType'未定义no-undef” 当我在 asyncData 中尝试 this.dataType 时,我得到“错误 Unexpected this in asyncData nuxt/no-this-in-fetch-data”

fetchPageData 是带有 axions.get .json 文件的插件。

任何解决方案/提示?

【问题讨论】:

  • asyncData 在生命周期中计算之前运行,这就是未定义 dataType 的原因。如果 dataType 只是一个 store 属性,你可以直接在 asyncData 中访问 store 吗?

标签: vue.js vuejs2 nuxt.js vuex


【解决方案1】:

您不能在 asyncData 上使用计算属性。

如果您想使用“存储”存储,则包含 asyncData 上下文。

【讨论】:

  • 我用 context.store.state 解决了这个问题...不是用 this.$store
猜你喜欢
  • 2022-01-01
  • 2017-04-21
  • 2016-08-27
  • 1970-01-01
  • 1970-01-01
  • 2014-12-07
  • 2017-10-25
  • 2019-06-30
  • 2015-12-06
相关资源
最近更新 更多