可用于定义全局变量的vuex,及vuex用法

1. vuex文件index.js

   文件内容:

   import Vue from 'vue'

   import Vuex from 'vuex'

   Vue.use(Vuex)

 

const store = new Vuex.Store({

     state: {

         flag: true

     },

     mutations: {},

     actions: {},

     modules: {}

})

export default store

然后,在main.js文件中的

首先引入上述文件 import store from './store/index.js'(或者import store from './store'这样写,一般会自动去找这个文件夹下的index.js文件),

在下面的位置加入代码:

const app = new Vue({

    router: router,

    render: h => h(App),

   store: store  // 添加上这一行的代码

})

这样,就可以在项目中的其他页面中调用这个vuex文件中的变量或方法了。

例如格式: console.log(this.$store.state.flag) // true

this.$store.state.flag = false; // 或者修改变量值,可以达到不同页面之间的传递数值

2.在vuex中使用module形式:

还是以上述代码为基础

vuex文件index.js

   文件内容:

   import Vue from 'vue'

   import Vuex from 'vuex'

   Vue.use(Vuex)

 // 自定义module

import toolBox from './toolBox.js'  // import 后跟的名字为自定义的,可以是任何自己习惯使用的名称

const store = new Vuex.Store({

     state: {

         flag: true

     },

     mutations: {},

     actions: {},

     modules: {

        toolBox: toolBox  // 冒号之前的toolBox为自定义的名称,供在项目的其他页面调用使用;冒号之后的toolBox为上面import时的自定义名称,意在映射。 

    }

})

export default store

在main.js文件中的引用同上,在main.js文件中的

首先引入上述文件 import store from './store/index.js'(或者import store from './store'这样写,一般会自动去找这个文件夹下的index.js文件),

在下面的位置加入代码:

const app = new Vue({

    router: router,

    render: h => h(App),

   store: store  // 添加上这一行的代码

})

那么toolBox.js里面如何设置呢?其实格式和index.js的格式一模一样的!!!

这样,就可以在项目中的其他页面中调用的时候就是这样:

例如格式: console.log(this.$store.state.toolBox.flag) // true

this.$store.state.toolBox.flag = false; //

 

posted @ 2017-08-08 17:48  海底流  阅读(2163)  评论(0编辑  收藏  举报