Beim Rendern wurde auf die nicht definierte Eigenschaft „$primevue' zugegriffen
P粉476547076
2023-08-25 16:17:16
<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>
您对
app.use()
的使用方式是错误的:app.use()
只接受两个参数:另外,
PrimeIcons
不是一个插件,所以不应该传递给app.use()
。解决方案
将每个插件单独传递给
app.use()
: