Ionic6使用組件出現錯誤:Did you add it to @NgModule.entryComponents

緣由

Ionic6Angular8項目中使用組件時出現錯誤:Error: No component factory found for LoginComponent. Did you add it to @NgModule.entryComponents? 在我的上一篇文章:移動開發:Ionic框架實現註冊與登錄功能中,實現軟件運行時彈出登錄頁面,使用的就是組件化(component)。
image

然而在最後運行的時候卻報錯。上網查了資料,大概就是說我現在代碼的寫法是ionic老版本的,而我的ionic版本是6.6.0。出現這個問題是因爲我沒有在要是這個組件的頁面所在的模塊中引入此組件導致。

解決方法(一)

找到頁面所在的模塊(xxx.module.ts)代碼,進行修改,如下:

就是增加entryComponents:[LoginComponent],用於解決上面的問題。並且在declarations中加入LoginComponent,不然還會出現“Component LoginComponent is not part of any NgModule or the module has not been imported into your module.”錯誤。

image

解決方法(二)推薦

第一個方法只針對組件使用次數爲1次的情況,如果這個組件會被多個頁面使用的話,解決方法一會出現新的問題。

找到項目app.module.ts文件的代碼,進行修改,如下:

entryComponentsdeclarations中分別添加:LoginComponent;原理和方法一是一樣的,只不過添加的文件不一樣。

image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章