为什么将Vuex存储实例传递给Vue构造函数参数?

时间:2020-07-21 14:23:31

标签: javascript vue.js vue-component vuex vue-router

store.js

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
    state: {},
    getters: {},
    mutations: {},
    actions: {}
})

main.js

import Vue from 'vue'
import store from './store'

// What is purpose of store parameter in Vue instance?
const app = new Vue({
    store
})

app.$mount('#app')

我也看到了Vue Router实例的类似语法。

1 个答案:

答案 0 :(得分:1)

以下语法:

const app = new Vue({
    store
})

使商店实例可用于诸如this.$store之类的子组件,如果不这样做,则将不会为您的组件定义商店,或者您必须将每个商店内部的商店导入为:

import store from '../store'
//or 
import store from '../../store'

这不是好习惯。