日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Angular NgModule 中的 declarations 和 exports定义

發布時間:2023/12/19 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Angular NgModule 中的 declarations 和 exports定义 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我在app.component.ts的template文件里試圖使用另一個Component時,遇到如下錯誤消息:

app-parent-child is not a known element:

在parent.module.ts定義里,檢查exports區域里是否包含了selector app-parent-child對應的Angular Component:ParentChildComponent:

declarations: 定義了該NgModule的組成部分:Components, directives和pipe等。

imports:

module的imports里能導入其他module,這些被導入的module的declarations的Component也可以在發起導入的module里被使用了:

例子:

AppModule導入了ParentModule,因此其能使用后者export區域暴露的Component:

exports:

假設module A 導入了module B,則module A的declarations區域的所有Component,能使用module B的exports區域定義的Component:


父子關系有一種特點,當它在子池子找不到它的依賴性,它會去父池子里面找,這也解釋了為什么在Module中Provider的東西,你在Module當中的Component也能用,而且在父組件中Provider的東西,子組件也能用。

The NgModule used for bootstrapping uses the root injector, and can provide dependencies to any part of the app.

也就是說,AppModule(引導 module )里注冊的服務,能在該應用的任何位置被注入。


惰性加載的模塊有自己的注入器,通常它是根注入器的一個子注入器。 惰性加載的服務,其作用范圍局限于這個惰性加載模塊的注入器。 如果惰性加載模塊也提供了 UserService,則任何在該模塊的上下文中創建的組件(比如通過路由導航)都會獲得該服務的一個局部實例, 而不是根注入器中的全局實例。 而外部模塊中的組件仍然會使用由它們的注入器提供的實例。

可聲明對象必須屬于也只能屬于一個模塊。 如果你嘗試把同一個類聲明在多個模塊中,那么編譯器就會報錯。 要注意不能聲明那些從其它模塊中導入的類。

默認情況下,可聲明對象是私有的。 如果 ModuleA 不導出 UserComponent,那么只有這個 ModuleA 中的組件才能使用 UserComponent。

更多Jerry的原創文章,盡在:“汪子熙”:

總結

以上是生活随笔為你收集整理的Angular NgModule 中的 declarations 和 exports定义的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。