Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法在Nuxt 2.12中使用$fetchState_Javascript_Vue.js_Fetch_Nuxt.js - Fatal编程技术网

Javascript 无法在Nuxt 2.12中使用$fetchState

Javascript 无法在Nuxt 2.12中使用$fetchState,javascript,vue.js,fetch,nuxt.js,Javascript,Vue.js,Fetch,Nuxt.js,因此,我尝试使用文档中描述的新功能 但是我最终得到了这个错误: 属性或方法“$fetchState”未在实例上定义,但在呈现期间被引用 尽管我的组件清楚地定义了fetch()方法,我还是设法从中获得了一些东西 <template> <div v-if="$fetchState"> <p v-if="$fetchState.pending">Fetching posts...</p> <p v-else-

因此,我尝试使用文档中描述的新功能

但是我最终得到了这个错误:

属性或方法“$fetchState”未在实例上定义,但在呈现期间被引用

尽管我的组件清楚地定义了fetch()方法,我还是设法从中获得了一些东西

<template>
    <div v-if="$fetchState">
        <p v-if="$fetchState.pending">Fetching posts...</p>
        <p v-else-if="$fetchState.error">Error while fetching posts</p>
        <div v-else>
            <div v-if="content.content1" v-html="content.content1" />
            <div v-if="content.content2" v-html="content.content2" />
        </div>
    </div>
</template>
<script>
import { mapState } from 'vuex'

export default {
    async fetch({ store, error }) {
        try {
            await store.dispatch('home/fetchContent')
        } catch (e) {
            error({
                statusCode: 503,
                message: 'Unable to fetch'
            })
        }
    },
    computed: mapState({
        content: (state) => state.home.content
    })
}
</script>


获取帖子

获取帖子时出错

从“vuex”导入{mapState} 导出默认值{ 异步获取({store,error}){ 试一试{ 等待存储调度('home/fetchContent') }捕获(e){ 错误({ 状态代码:503, 消息:“无法获取” }) } }, 计算:mapState({ content:(state)=>state.home.content }) }
以前有人遇到过吗?

当您使用fetch(上下文)时,如果您使用旧的fetch,您应该从中获取上下文,如果您需要的话

  async fetch() {
    const { store, error } = this.$nuxt.context

    try {
      await store.dispatch('home/fetchContent')
    } catch (e) {
      error({
        statusCode: 503,
        message: 'Unable to fetch'
      })
    }
  },