亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Angular 延遲加載模塊和 entryComponents 錯誤

Angular 延遲加載模塊和 entryComponents 錯誤

冉冉說 2021-12-12 17:52:47
我懶得加載一個 angular 模塊,在嘗試打開我的時候出現DatesModal這個錯誤:No component factory found for DatesModal. Did you add it to @NgModule.entryComponents?我的lazyModule看起來像這樣:declarations: [DatesModal] entryComponents: [DatesModal]我肯定會DatesModal在 lazyModule 的 entryComponents 數組中添加 。任何人都知道我在這里可能會遺漏什么嗎?如果您需要更多信息來回答這個問題,請告訴我。
查看完整描述

2 回答

?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

看起來你想在其他模塊中獲取/導入這個模塊,但是這個模塊對其他人不可見。嘗試導出您的模塊:


exports: [DatesModal]

更新:


正如 Angular 文檔所說:


對于生產應用程序,您希望加載盡可能小的代碼。代碼應僅包含您實際需要的類,并排除從未使用過的組件。出于這個原因,Angular 編譯器只為可從 entryComponents 訪問的組件生成代碼;這意味著添加更多對 @NgModule.declarations 的引用并不意味著它們一定會包含在最終包中。如果一個組件不是入口組件并且在模板中找不到,搖樹器會將其丟棄。因此,最好僅添加真正入門組件的組件,以幫助您的應用程序盡可能簡潔。


為了讓你的模塊被加載,你需要在路由中做:


const routes: Routes = [

  {

    path: 'customers',

    loadChildren: () => import('./customers/customers.module').then(mod => mod.CustomersModule)

  },

  {

    path: 'orders',

    loadChildren: () => import('./orders/orders.module').then(mod => mod.OrdersModule)

  },

  {

    path: '',

    redirectTo: '',

    pathMatch: 'full'

  }

];


查看完整回答
反對 回復 2021-12-12
?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

您是否使用任何第三方庫(或您自己)在延遲加載模塊中動態創建此組件?

如果是這樣,您需要將此組件添加到 AppModule 的(或上級非延遲加載模塊)中entrycomponents。


查看完整回答
反對 回復 2021-12-12
  • 2 回答
  • 0 關注
  • 246 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號