Доступ к экземпляру Vue в экспорте const

Я делаю многофайловое приложение 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))
        }
    }
}

...

вы имеете в виду this.$store (который должен работать с вашим кодом) или this.$storage, для которого вам нужно будет добавить storage:... в свой экземпляр new Vue(

birdspider 29.10.2018 11:13

Как только вы вызываете Vue.use(Vue2Storage, ...) (как вы это делали в app.js), свойство $storage становится доступным в вашем экземпляре Vue, что позволяет вам использовать vue2-storage API через this.$storage из любого экземпляра Vue.

tony19 29.10.2018 21:34

Это действительно this.$storage, который вызывается внутри this.$store - однако, поскольку он находится в константе экспорта, у меня не было доступа к this, и для доступа к this._vm пришлось использовать $storage.

Maarten Raaijmakers 30.10.2018 12:51
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
3
574
0

Другие вопросы по теме