首页 > 解决方案 > 在 export const 中访问 Vue 实例

问题描述

我正在制作一个多文件 Vue 应用程序,显然我正在使用导出,并且我的实例是在与导出不同的文件中创建的。我想知道如何this正确使用 .$storage 。

这是我的设置:

应用程序.js

import Vue from 'vue'
import store from '~/store'
import Vue2Storage from 'vue2-storage'

Vue.use(Vue2Storage, {
    prefix: 'app_',
    driver: 'local',
    ttl: 60 * 60 * 1000
})

app = new Vue({
    mixins: [..instance created here..],
    store
})

存储/index.js

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

Vue.use(Vuex)

// Load store modules dynamically.
const requireContext = require.context('./modules', false, /.*\.js$/)

const modules = requireContext.keys()
    .map(file =>
        [file.replace(/(^.\/)|(\.js$)/g, ''), requireContext(file)]
    )
    .reduce((modules, [name, module]) => {
        if (module.namespaced === undefined) {
        module.namespaced = true
        }

        return { ...modules, [name]: module }
    }, {})

export default new Vuex.Store({
    modules
})

存储/模块/exchange.js

...

export const actions = {
    getExchanges ({ commit, dispatch }) {
        if (this.$storage.has('exchange.list')) {
        return this.$storage.get('exchange.list')
        } else {
        return Trade.getExchanges()
            .then(exchanges => {
            commit(types.SET_EXCHANGES, exchanges)
            })
            .catch(error => console.error(error))
        }
    }
}

...

标签: javascriptvue.jsvuex

解决方案


推荐阅读