Tidak boleh menetapkan sifat undefined (menetapkan 'isRightSidebarExpanded')
P粉060528326
P粉060528326 2024-01-04 15:47:20
0
1
529

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粉060528326
P粉060528326

membalas semua(1)
P粉204079743

Tidak digalakkan menukar data kedai secara terus.
Vuex menggunakan Mutasi untuk melakukan perubahan kepada keadaan tersimpan.

  1. Tambah Mutasi untuk menukar harta isRightSidebarExpanded
mutations: {
    isRightSidebarExpanded(state , payload) {
      // mutate state
      state.isRightSidebarExpanded = payload ;
    }
  }
  1. Kini anda boleh memanggil Mutasi anda
@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);
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan