在导出const中访问Vue实例

时间:2018-10-29 10:06:23

标签: javascript vue.js vuex

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

这是我的设置:

app.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
})

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
})

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))
        }
    }
}

...

0 个答案:

没有答案