nuxt如何在其它js文件中使用store

前言

在新建的js文件中想用store裏面的數據,好比token想在封裝的axios裏面,請求頭裏面去使用,亦或者經過app的JS接口獲取token並存儲在store裏面。咱們都知道如何在vue中如何使用。vue

代碼

/*
 * @Description: 
 * @Author: lxc
 * @Date: 2019-07-02 16:14:07
 * @LastEditTime: 2019-08-14 16:08:19
 * @LastEditors: lxc
 */
// 導出 store 的地方

import Vue from 'vue'
import Vuex from 'vuex'
import state from './state'
import actions from './actions'
import mutations from './mutations'
import getters from './getters'
import canteen from './modules/canteen'
import contact from './modules/contact'
import health from './modules/health'
import scan from './modules/scan'

Vue.use(Vuex)

let store

const initStore = () => {
  return store || (store = new Vuex.Store({
    // 存放公用數據
    state,
    // 異步操做要經過actions,不然經過cimmit直接操做mutations
    actions,
    // 同步放數據
    mutations,
    getters,
    modules: {
      // store 模塊....
    }
  }))
}

export default initStore

複製代碼

其它js文件中如何調用:ios

import store from '@/store'

const TOKEN = 'testToken'

//  這裏只是舉個例子
function getToken() {
  return isNotEmpty(store().state.token) ? store().state.token : TOKEN
}

複製代碼

我本身使用是能夠的。但願對你們有幫助。vuex

相關文章
相關標籤/搜索