[已解决]nuxt中为什么要把vuex定义成一个函数?

业务背景

  • 学习用nuxt静态化vue项目

  • 把一个已经做好的vue项目迁移到nuxt框架下来

遇到的困惑

  • vue中,定义vuex是直接定义的一个实例对象

代码如下:

export default new Vuex.Store({  state: {
  },
  mutations: {
  },  debug: true
});
  • 但是在nuxt官方文档中,却是这样定义的

示例代码如下:

const createStore = () => {  return new Vuex.Store({
    state: {
    },
    mutations: {
    }
  })
}

问题

  • nuxt是出于什么原因要这样处理呢?只在调用时才实例化对象以节省性能?

  • 如果我要在其他非组件页面调用store对象,不是又得重新实例化了么?


精慕HU
浏览 713回答 1
1回答

Cats萌萌

当你的vuex需要一些同步渲染的数据的时候,函数可以接受上下文对象
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5