Pinia InternalError: terlalu banyak ralat rekursi apabila menggunakan q-list dalam Quasar
P粉262073176
P粉262073176 2023-09-01 20:26:11
0
1
422
<p>Semasa menggunakan Pinia Store dalam komponen Quasar saya, saya mengalami ralat ini <kod>Ralat Dalaman: Terlalu banyak rekursi</kod> </p><p> Bolehkah saya mendapatkan nasihat di sini? </p> <p>Ini ialah <kod>IndexPage.vue</code> tempat saya memanggil komponen QList: </p> <pre class="brush:php;toolbar:false;"><template> <q-halaman> <div class="q-pa-md"style="lebar maksimum: 350px"> <QList /> </div> </q-page> </template> <skrip> import QList daripada 'src/components/QList.vue'; eksport lalai { komponen: { QList } } </script></pre> <p>Ini adalah komponen <kod>QList.vue</code> <pre class="brush:php;toolbar:false;"><template> <div v-if="memuatkan">Carregando...</div> <q-senarai v-pemisah bersempadan lain> <q-item v-for="item dalam testData" :key="item.id" v-riak boleh klik> <q-item-section>{{ item.title }}</q-item-section> </q-item> </q-list> </template> <skrip> import { testeStore } daripada '../stores/teste' import { defineComponent, computed, onMounted } daripada 'vue'; eksport lalai defineComponent({ persediaan () { const store = testeStore(); onMounted(() => { store.loadData(); }); const testData = dikira(() => store.getData()); const loading = dikira(() => store.$state.loading); kembali { testData, memuatkan } } }) </script></pre> <p>还有我的 <code>testeStore.js</code> 商店:</p> <pre class="brush:php;toolbar:false;">import { defineStore } daripada 'pinia' import testeData daripada '../assets/data/testes.json' eksport const testeStore = defineStore({ id: 'teste', nyatakan: () => ({ data: [], memuatkan: palsu, }), pengambil: { getData: negeri => state.data, }, tindakan: { loadData () { cuba { this.loading = benar this.data = testeData; } tangkap (ralat) { console.log(`Ralat mengambil ujian: ${{ ralat }}`) } akhirnya { this.loading = palsu } } } })</pre> <p>每个组件看起来都很正常,我真的不知道我的问题出在哪里。这是来自控制台的一段 vue amaran:</p> <pre class="brush:php;toolbar:false;">[Vue warn]: Ralat tidak dikendalikan semasa melaksanakan flush penjadual. Ini berkemungkinan pepijat dalaman Vue. Sila buka isu di https://new-issue.vuejs.org/?repo=vuejs/core di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" > di <Kunci QList=1 bersempadan="" pemisah="" ></pra></p>
P粉262073176
P粉262073176

membalas semua(1)
P粉547170972

Baru sahaja menyemak stackblitz dan nampaknya terdapat konflik penamaan antara komponen QList anda sendiri dan komponen "q-list" terbina dalam Quasar. Vue memperlakukan nama komponen secara tidak sensitif huruf, itulah sebabnya ia mentafsirkan "senarai-q" dan "QList" sebagai komponen yang sama.

Untuk menyelesaikan masalah ini, anda boleh cuba menamakan semula komponen QList anda kepada nama lain yang tidak bercanggah dengan komponen Quasar, seperti "MyQList", atau gunakan alias untuk mengimport komponen "q-list" Quasar.

从 'quasar' 导入 { Qlist as QuasarList }

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan