我正在制作一个多文件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))
}
}
}
...