服务端渲染nuxt 切换页面时能通过asyncData获取数据,但是第一次或者刷新时获取不到数据?

新手上路,请多包涵

问题描述

服务端渲染nuxt 切换页面时能通过asyncData获取数据,但是第一次或者刷新时获取不到数据

相关代码

//store/getList文件
import { getData } from '~/service/api/getList'
export const state = () => ({
  list: []
})
export const mutations = {
  GETDATA(state, text) {
    state.list = text
  }
}
export const getters = {
  getlist: state => state.list
}
export const actions = {
  getDataList({ commit }) {
    getData().then(res => {
      commit('GETDATA', res.data.data)
    })
  }
}
//home.vue文件
export default {
  components: {
    Logo
  },
  computed: {
    ...mapGetters('getList', ['getlist'])
  },
  asyncData({ store }) {
    console.log('async')
    store.dispatch('getList/getDataList')
  }
}

挺奇怪的,从别的页面切换回这个vue页面可以获取数据,但是刷新或者作为首页第一次进入这个页面就获取不到数据

阅读 6.5k
3 个回答
新手上路,请多包涵

解决了么,兄弟。求助!!1763907618

新手上路,请多包涵

请问解决了吗??

代码和背景描述太少,只能通过猜测。第一次刷新取不到值或许是因为 :

  • 是在create中调用的
  • 在store中使用了cookie/localstorage 或者window等
  • mapGetters使用错误

通过以下方法进行调试:

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题