Я делаю многофайловое приложение Vue, очевидно, я работаю с экспортом, и мой экземпляр создается в другом файле, чем экспорт. Я хотел бы знать, как правильно использовать хранилище this
. $.
Вот мои настройки:
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
})
магазин / 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))
}
}
}
...