по моему мнению:
Метод 1. Используйте базу плагинов Quasar на прототипе Vue (уверен, что вы это знали):
plugins / foo.js
const fooModule = {
a: 1,
doTest() { console.log('doTest') }
};
export default ({Vue}) => {
Vue.prototype.$foo = fooModule;
}
quasar.conf.js
plugins: [
'i18n',
'axios',
'foo',
],
компонент bar.vue
:
methods: {
test () { this.$foo.doTest() }
}
Метод 2. Просто используйте модуль js
Потому что модуль js является синглтоном.Куда бы вы ни импортировали модуль js, он все указывает на один и тот же указатель.
Так что просто имейте GlobalTest.js
:
export default {
a: 1,
inc() { this.a = this.a + 1 }
}
И test1.js:
import GlobalTest from '/path/to/GlobalTest'
console.log(GlobalTest.a); // output 1
console.log(GlobalTest.inc()); // inc
И test2.js:
import GlobalTest from '/path/to/GlobalTest'
console.log(GlobalTest.a); // Assuming this was called after test1.js: output 2
Я использовал квазар cli, но я просто рассматриваю квазар как пользовательский интерфейс.