Beim Rendern wurde auf die nicht definierte Eigenschaft „$primevue' zugegriffen
P粉476547076
P粉476547076 2023-08-25 16:17:16
0
1
721
<p><strong>Fälle und Fragen</strong></p> <p>Ich arbeite an einem privaten Projekt mit <code>Vue.js</code> und beim Versuch, <code>FileUpload</ von <code>PrimeVue</code> zu verwenden, ist der folgende Fehler aufgetreten ; code>Tritt auf, wenn Komponente: </p> <pre class="brush:php;toolbar:false;">[Vue-Warnung]: Beim Rendern wurde auf die Eigenschaft „$primevue“ zugegriffen, aber die Eigenschaft ist in der Instanz nicht definiert. </pre> <p>Ich versuche, <code>FileUpload</code> in meiner Komponente zu verwenden: </p> <pre class="lang-html Prettyprint-override"><code><template> <FileUpload name="demo[]" @upload="onUpload" <Vorlage #leer> <p>Ziehen Sie Dateien hierher, um sie hochzuladen. </p> </template> </FileUpload> </template> </code></pre> <p>Der Fehler tritt nur auf, wenn ich versuche, <code>FileUpload</code> zu verwenden. Wenn ich es entferne, funktioniert die Komponente einwandfrei. <code>FileUpload</code> und <code>PrimeVue</code> werden beide wie vorgesehen in <code>main.js</code> importiert. <pre class="lang-js Prettyprint-override"><code>import {createApp} aus 'vue' Router importieren aus „./router“; Shop importieren aus „./store“; PrimeVue aus „primevue/config“ importieren; PrimeIcons aus „primevue/config“ importieren; App aus „./App“ importieren; const app = createApp(App); app.use( Router, PrimeVue, PrimeIcons, speichern ) importiere 'primevue/resources/primevue.min.css' 'primeflex/primeflex.css' importieren import 'primeicons/primeicons.css' importiere 'primevue/resources/themes/bootstrap4-dark-purple/theme.css' Karte aus „primevue/card“ importieren; Menüleiste aus „primevue/menubar“ importieren; FileUpload aus „primevue/fileupload“ importieren; app.component('Karte', Karte) app.component('Menubar', Menüleiste) app.component('FileUpload', FileUpload) app.mount('#app') </code></pre> <p><strong>Was ich versucht habe</strong></p> <p>Ich habe nach diesem Problem gesucht, aber die einzige exakte Übereinstimmung für diesen Fehler war ein altes geschlossenes Problem auf GitHub über die <code>Calendar</code>-Komponente: Problem Nr. 808.Dieses Problem wird durch Breaking Changes in der neuen <code>PrimeVue API</code> verursacht. Dies sollte bei mir nicht der Fall sein, da es in V3.1 eingeführt wurde und ich V3.7 verwende. </p> <p>Wenn die Version das Problem ist, habe ich verschiedene Versionen von <code>PrimeVue</code> getestet, z. B. 3.1, 3.2, 3.3, aber der Fehler besteht immer noch. Daher sind die tatsächlichen Abhängigkeiten immer noch aktuell: </p> <pre class="brush:php;toolbar:false;">"primevue": "^3.7.0"</pre> <p>Möglicherweise gibt es bereits eine Lösung auf SO oder Google, aber entweder ist mein Englisch zu schlecht, um es zu verstehen, oder ich bin mit <code>Vue.js</code> nicht vertraut genug, um das Problem zu verstehen. </p> <p>Vielen Dank im Voraus! </p>
P粉476547076
P粉476547076

Antworte allen(1)
P粉611456309

您对 app.use() 的使用方式是错误的:

app.use(
    router,
    PrimeVue,
    PrimeIcons,
    store
)

app.use() 只接受两个参数:

  • 第一个参数:Vue 插件
  • 第二个参数:插件选项

另外,PrimeIcons 不是一个插件,所以不应该传递给 app.use()

解决方案

将每个插件单独传递给 app.use()

app.use(router)
   .use(PrimeVue)
   //.use(PrimeIcons)   // 不是一个插件
   .use(store)
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage