recherche

Maison  >  Questions et réponses  >  le corps du texte

Propriété non définie '$primevue' accessible lors du rendu

<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粉476547076P粉476547076489 Il y a quelques jours725

répondre à tous(1)je répondrai

  • P粉611456309

    P粉6114563092023-08-26 14:49:54

    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)
    

    répondre
    0
  • Annulerrépondre