Rumah > Soal Jawab > teks badan
Saya cuba menukar templat untuk digunakan dengan nuxt.js
Harta ini memberi saya ralat ini
Tidak boleh menetapkan sifat undefined (menetapkan 'isRightSidebarExpanded')
@click="$store.global.isRightSidebarExpanded = false"
Ini ialah fail JS: https://lineone.piniastudio.com/js/app.js
Saya mengimportnya ke dalam nuxt.js menggunakan baris ini dalam nuxt.config.js
script: [ {src: '/js/app.js', body: false, defer:true} ]
Kemudian nuxt.js menunjukkan kepada saya ralat ini kerana ia seolah-olah mengabaikan fail javascript pelanggan, walaupun ia berfungsi dengan sempurna tanpa nuxt.js tetapi secara setempat hanya memasukkan fail HTML/JS statik
Anda boleh lihat tapak web berfungsi dengan betul (Laravel) di sini https://lineone.piniastudio.com/
Sesetengah pembolehubah HTML (seperti "activeTab") juga tidak ditentukan
Sifat atau kaedah 'activeTab' tidak ditakrifkan pada kejadian tetapi dirujuk semasa pemaparan. Pastikan harta itu reaktif dalam pilihan data atau untuk komponen berasaskan kelas dengan memulakannya. Lihat: https://v2.vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Propertie
Tetapi apabila saya hanya menyimpan HTML/JS/CSS dan menjadikannya berfungsi dalam mod statik tanpa nuxt.js, semuanya berfungsi dengan baik
P粉2040797432024-01-05 09:02:18
Tidak digalakkan menukar data kedai secara terus.
Vuex menggunakan Mutasi untuk melakukan perubahan kepada keadaan tersimpan.
mutations: { isRightSidebarExpanded(state , payload) { // mutate state state.isRightSidebarExpanded = payload ; } }
@click="$store.global.commit('isRightSidebarExpanded',false)"
---------------------------------------------------------------- ------------------------ ---------------------------------
Untuk soalan yang tidak jelas:
- Semak sama ada $store.global property wujud
- Semak sama ada anda menggunakan kedai (main.js)
app.use(store);