Harta tidak ditentukan '$primevue' diakses semasa pemaparan
P粉476547076
2023-08-25 16:17:16
<p><strong>Kes dan Soalan</strong></p>
<p>Saya sedang mengerjakan projek persendirian menggunakan <code>Vue.js</code> dan saya mengalami ralat berikut apabila saya cuba menggunakan <code>FileUpload</ daripada <code>PrimeVue</code> ; kod>Berlaku apabila komponen: </p>
<pre class="brush:php;toolbar:false;">[Vue warn]: Harta '$primevue' telah diakses semasa pemaparan, tetapi harta itu tidak ditentukan pada contoh. </pra>
<p>Cuba menggunakan <code>FileUpload</code>
<pre class="lang-html prettyprint-override"><kod><template>
<FileUpload name="demo[]" url="" @upload="onUpload"
<template #kosong>
<p>Seret dan lepaskan fail di sini untuk memuat naik. </p>
</template>
</FileUpload>
</template>
</code></pre>
<p>Ralat hanya berlaku apabila saya cuba menggunakan <kod>FileUpload</code>, jika saya mengalih keluarnya komponen itu berfungsi dengan baik. <code>FileUpload</code> dan <code>PrimeVue</code> kedua-duanya diimport dalam <code>main.js</code>
<pre class="lang-js prettyprint-override"><code>import {createApp} daripada 'vue'
import penghala daripada "./router";
import kedai dari "./store";
import PrimeVue daripada "primevue/config";
import PrimeIcons daripada "primevue/config";
import Apl daripada "./App";
const app = createApp(App);
app.use(
penghala,
PrimeVue,
PrimeIcons,
kedai
)
import 'primevue/resources/primevue.min.css'
import 'primeflex/primeflex.css'
import 'primeicons/primeicons.css'
import 'primevue/resources/themes/bootstrap4-dark-purple/theme.css'
import Kad daripada "primevue/kad";
import Menubar daripada "primevue/menubar";
import FileUpload daripada "primevue/fileupload";
app.component('Kad', Kad)
app.component('Menubar', Menubar)
app.component('FileUpload', FileUpload)
app.mount('#app')
</code></pre>
<p><strong>Apa yang saya cuba</strong></p>
<p>Saya mencari isu ini, tetapi satu-satunya padanan tepat untuk ralat ini ialah isu tertutup lama di GitHub mengenai komponen <kod>Kalendar</kod>Isu ini disebabkan oleh memecahkan perubahan dalam <code>PrimeVue API</code> baharu. Ini bukan kes saya kerana ia diperkenalkan dalam V3.1 dan saya menggunakan V3.7. </p>
<p>Jika versi yang menjadi masalah, saya telah menguji versi <code>PrimeVue</code> yang berbeza, seperti 3.1, 3.2, 3.3, tetapi ralat masih wujud. Oleh itu, kebergantungan sebenar masih terkini: </p>
<pre class="brush:php;toolbar:false;">"primevue": "^3.7.0"</pre>
<p>Mungkin penyelesaian sudah wujud di SO atau Google, tetapi sama ada bahasa Inggeris saya terlalu lemah untuk difahami atau saya tidak cukup mahir dengan <code>Vue.js</code> </p>
<p>Terima kasih terlebih dahulu! </p>
Anda menggunakan
app.use()
secara salah:app.use()
hanya menerima dua parameter:Selain itu,
PrimeIcons
bukan pemalam, jadi ia tidak boleh diserahkan kepadaPrimeIcons
不是一个插件,所以不应该传递给app.use()
.Penyelesaian
Lepaskan setiap pemalam secara individu ke
app.use()
: