未定義のプロパティ「$primevue」がレンダリング中にアクセスされました
P粉476547076
P粉476547076 2023-08-25 16:17:16
0
1
731
<p>ケースと質問</strong></p> <p><code>Vue.js</code> を使用してプライベート プロジェクトに取り組んでいますが、<code>PrimeVue</code> の <code>FileUpload</ を使用しようとしたときに次のエラーが発生しました; code>コンポーネント: </p> の場合に発生します。 <pre class="brush:php;toolbar:false;">[Vue warn]: レンダリング中にプロパティ '$primevue' にアクセスされましたが、このプロパティはインスタンス上で定義されていません。 </pre> <p>コンポーネントで <code>FileUpload</code> を使用しようとしています: </p> <pre class="lang-html prettyprint-override"><コード><テンプレート> <FileUpload name="demo[]" url="" @upload="onUpload" :multiple="true" :maxFileSize="1000000"> <テンプレート #empty> <p>ここにファイルをドラッグ アンド ドロップしてアップロードします。 </p> </テンプレート> </ファイルアップロード> </テンプレート> </code></pre> <p>このエラーは、<code>FileUpload</code> を使用しようとした場合にのみ発生します。これを削除すると、コンポーネントは正常に動作します。 <code>FileUpload</code> と <code>PrimeVue</code> は両方とも <code>main.js</code> にインポートされます: </p> <pre class="lang-js prettyprint-override"><code>「vue」から {createApp} をインポートします "./router" からルーターをインポートします。 「./store」からストアをインポートします。 「primevue/config」から PrimeVue をインポートします。 「primevue/config」から PrimeIcon をインポートします。 「./App」からアプリをインポートします; const app = createApp(App); app.use( ルーター、 プライムビュー、 プライムアイコン、 店 ) 'primevue/resources/primevue.min.css' をインポートします 'primeflex/primeflex.css' をインポートします 'primeicons/primeicons.css' をインポートします 'primevue/resources/主題/bootstrap4-dark-purple/theme.css' をインポートします "primevue/card" からカードをインポートします。 「primevue/menubar」からメニューバーをインポートします。 「primevue/fileupload」から FileUpload をインポートします。 app.component('カード', カード) app.component('メニューバー', メニューバー) app.component('FileUpload', FileUpload) app.mount('#app') </code></pre> <p>試したこと</strong></p> <p>この問題を検索しましたが、このエラーに完全に一致するのは、GitHub 上の <code>Calendar</code> コンポーネントに関する古いクローズ済みの問題、問題 #808 だけでした。この問題は、新しい <code>PrimeVue API</code> の重大な変更によって発生します。 V3.1 で導入され、私は V3.7 を使用しているため、これは私の場合には当てはまりません。 </p> <p>バージョンに問題がある場合は、<code>PrimeVue</code> のさまざまなバージョン (3.1、3.2、3.3 など) をテストしましたが、エラーは依然として存在します。したがって、実際の依存関係は依然として最新です: </p> <pre class="brush:php;toolbar:false;">"primevue": "^3.7.0"</pre> <p>SO または Google に解決策がすでに存在している可能性がありますが、私の英語力が低すぎて理解できないか、問題を理解できるほど <code>Vue.js</code> に精通していないかのどちらかです。 </p> <p>よろしくお願いします! </p>
P粉476547076
P粉476547076

全員に返信(1)
P粉611456309

app.use() の使用方法が間違っています: リーリー

app.use() 2 つのパラメータのみを受け入れます:

  • 最初のパラメータ: Vue プラグイン
  • 2 番目のパラメータ: プラグイン オプション
また、

PrimeIcons はプラグインではないため、app.use() に渡すべきではありません。 ###解決###

各プラグインを個別に

app.use()

に渡します:

リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート