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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Angular 不同种类 Module 的介绍

發(fā)布時(shí)間:2023/12/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Angular 不同种类 Module 的介绍 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

官方鏈接

Domain NgModules

使用領(lǐng)域模塊來提供專屬于特定功能或應(yīng)用領(lǐng)域的界面,比如編輯客戶或下單。

領(lǐng)域模塊用來組織與特定功能有關(guān)的代碼,里面包含構(gòu)成此功能的所有組件、路由和模板。領(lǐng)域模塊中的頂級組件是該特性或領(lǐng)域的根,是你要導(dǎo)出的唯一組件。各種私有的支撐子組件都是它的后代。

Domain Module 的一個(gè)例子:

Routed NgModules

所有惰性加載模塊都要用帶路由的模塊。使用該模塊的頂級組件作為路由器導(dǎo)航路由的目標(biāo)。帶路由的模塊不會導(dǎo)出任何內(nèi)容,因?yàn)樗鼈兊慕M件永遠(yuǎn)不會出現(xiàn)在外部組件的模板中。

不要把惰性加載的帶路由的模塊導(dǎo)入到另一個(gè)模塊中,因?yàn)檫@會觸發(fā)一個(gè)急性加載,從而破壞了惰性加載它的目的。

例如,如果在 app.module.ts 里導(dǎo)入期望 lazy load 的 module A, 則 A 的lazy loading 行為將失效。

帶路由的模塊很少有提供者,因?yàn)槟阒辉谛枰臅r(shí)候加載帶路由的模塊(例如通過路由導(dǎo)航過來時(shí))。 provider 數(shù)組中列出的服務(wù)不可用,因?yàn)楦⑷肫鞑豢赡茴A(yù)先知道惰性加載的模塊。如果你包含了提供者,那么它們所提供的服務(wù)的生命周期應(yīng)該和該模塊的生命周期完全一樣。不要在帶路由的模塊及其導(dǎo)入的相關(guān)模塊中提供全應(yīng)用范圍內(nèi)的單例服務(wù)。

路由定義模塊

使用路由定義模塊來為領(lǐng)域模塊提供路由配置,從而將路由相關(guān)的關(guān)注點(diǎn)從其伴生領(lǐng)域模塊中分離出來。例子之一是官網(wǎng)中提到的 ContactRoutingModule,它為其伴生領(lǐng)域模塊 ContactModule 提供路由。

使用路由定義模塊來完成如下任務(wù):

  • 定義路由。
  • 把路由器配置文件添加到模塊的導(dǎo)入表中。
  • 往模塊的提供者列表中添加路由守衛(wèi)和解析器(resolver)提供者。

路由定義模塊的名字應(yīng)該和其伴生模塊的名字平行,但使用 Routing 后綴。例如, contact.module.ts 中的 ContactModule 有一個(gè)位于 contact-routing.module.ts 中的名為 ContactRoutingModule 的路由定義模塊。

路由定義模塊只能被其伴生模塊導(dǎo)入。如果伴生模塊是根模塊 AppModule ,那么 AppRoutingModule 就會通過其導(dǎo)入表中的 RouterModule.forRoot(routes) 來添加路由器配置。

下圖是 SAP Spartacus 一個(gè)例子:

服務(wù)模塊

使用服務(wù)模塊來提供實(shí)用工具服務(wù),比如數(shù)據(jù)訪問或消息傳遞。理想的服務(wù)模塊完全由提供者組成,沒有可聲明對象。

注意,屬于該模塊的一組組件、指令和管道統(tǒng)稱可聲明對象。

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

Angular 的 HttpClientModule 是服務(wù)模塊的一個(gè)典范。

只能使用根模塊 AppModule 來導(dǎo)入各種服務(wù)模塊。

更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:

總結(jié)

以上是生活随笔為你收集整理的Angular 不同种类 Module 的介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。