Saya mengisytiharkan pembolehubah global dalammain.js
projek Vue.js saya.
Vue.prototype.$API = "myapihere"
Saya mahu menggunakannya di mana-mana. Ia berfungsi dengan baik menggunakanthis.$API
.
Tetapi dalam Vuex ia tidak berkesan.
console.log(this.$API);
Di sinithis.$API
adalahtidak ditentukan.
Bagaimana saya menggunakan$API
saya dalam Vuex.
Saya menggunakan Vue 3 dan
Vue.prototype.$foo
似乎已在此版本中删除。我还发现在我的 VueX 版本中没有this._vm
.Saya meneroka kaedahProvide / Inject, yang disediakan oleh dokumentasi Vue 3. Ini berfungsi hebat untuk mengakses pembolehubah global dari dalam komponen saya, tetapi saya tidak boleh mengaksesnya dari dalam kedai.
Penyelesaian yang saya cari ialah menggunakan objek dan sifat standard padaglobalProperties
store
Vue dan tetapkannya sebelum memasang apl.main.js
:Apa yang saya suka tentang ini ialah saya boleh mengakses pembolehubah global dengan cara yang sama dalam storan dan komponen.
Dalam komponen:
...anda boleh mengakses
this.$conf.API_URL
dengan cara yang sama melalui operasi, mutasi dan getter.Setelah saya menemui penyelesaian ini, saya tidak lagi perlu mengakses keseluruhan contoh Vue dari dalam kedai, tetapi jika anda memerlukannya atas sebab tertentu, anda boleh menetapkan
store.$app = app
dalam kedudukan yang sama dalamstore.$app = app
;在main.js
.Jawapan Vue 2 dan Vuex 3
Instance vue boleh diakses di kedai dengan mengakses
this._vm