Propriété non définie '$primevue' accessible lors du rendu
P粉476547076
P粉476547076 2023-08-25 16:17:16
0
1
670
<p><strong>Cas et questions</strong></p> <p>Je travaille sur un projet privé utilisant <code>Vue.js</code> et j'ai rencontré l'erreur suivante lorsque j'ai essayé d'utiliser <code>FileUpload</ de <code>PrimeVue</code> ; code>Se produit lorsque le composant : </p> <pre class="brush:php;toolbar:false;">[Vue warn] : la propriété '$primevue' a été accédée lors du rendu, mais la propriété n'est pas définie sur l'instance. ≪/pré> <p>Essayer d'utiliser <code>FileUpload</code> <pre class="lang-html Prettyprint-override"><code><template> <FileUpload name="demo[]" url="" @upload="onUpload" :multiple="true" :maxFileSize="1000000"> <modèle #vide> <p>Faites glisser et déposez les fichiers ici pour les télécharger. </p> </modèle> </FileUpload> </modèle> </code></pre> <p>L'erreur ne se produit que lorsque j'essaie d'utiliser <code>FileUpload</code>, si je le supprime, le composant fonctionne correctement. <code>FileUpload</code> et <code>PrimeVue</code> sont tous deux importés dans <code>main.js</code> <pre class="lang-js Prettyprint-override"><code> importer {createApp} depuis 'vue' importer le routeur depuis "./router" ; importer un magasin depuis "./store" ; importer PrimeVue depuis « primevue/config » ; importer des PrimeIcons depuis "primevue/config" ; importer l'application depuis "./App" ; const app = createApp(App); app.use( routeur, PrimeVue, Icônes principales, magasin ) importer 'primevue/resources/primevue.min.css' importer 'primeflex/primeflex.css' importer 'primeicons/primeicons.css' importer 'primevue/resources/themes/bootstrap4-dark-purple/theme.css' importer la carte depuis « primevue/card » ; importer la barre de menus depuis "primevue/menubar" ; importer FileUpload depuis "primevue/fileupload" ; app.component('Carte', Carte) app.component('Barre de menus', Barre de menus) app.component('FileUpload', FileUpload) app.mount('#app') </code></pre> <p><strong>Ce que j'ai essayé</strong></p> <p>J'ai recherché ce problème, mais la seule correspondance exacte pour cette erreur était un ancien problème fermé sur GitHub concernant le composant <code>Calendar</code> : numéro 808.Ce problème est dû à des modifications importantes apportées à la nouvelle API <code>PrimeVue</code>. Cela ne devrait pas être mon cas puisqu'il a été introduit dans la V3.1 et que j'utilise la V3.7. </p> <p>Si la version est à l'origine du problème, j'ai testé différentes versions de <code>PrimeVue</code>, telles que 3.1, 3.2, 3.3, mais l'erreur existe toujours. Par conséquent, les dépendances réelles sont toujours à jour : </p> <pre class="brush:php;toolbar:false;">"primevue" : "^3.7.0"</pre> <p>Peut-être qu'une solution existe déjà sur SO ou Google, mais soit mon anglais est trop mauvais pour comprendre, soit je ne connais pas suffisamment <code>Vue.js</code> </p> <p>Merci d'avance ! </p>
P粉476547076
P粉476547076

répondre à tous(1)
P粉611456309

Vous n'utilisez pas correctement app.use() :

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

app.use() n'accepte que deux paramètres :

  • Le premier paramètre : Plug-in Vue
  • Deuxième paramètre : Options du plug-in

De plus, PrimeIcons n'est pas un plugin, il ne doit donc pas être transmis à PrimeIcons 不是一个插件,所以不应该传递给 app.use().

Solution

Passez chaque plugin individuellement à app.use() :

app.use(router)
   .use(PrimeVue)
   //.use(PrimeIcons)   // 不是一个插件
   .use(store)
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!