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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

破境Angular(三)Angular构件之模块

發布時間:2025/3/17 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 破境Angular(三)Angular构件之模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、知識點

Angular模塊核心知識點如下:

1.模塊的作用。
2.模塊各個元數據的含義和作用
3.模塊有哪些分類,分類原則
4.模塊的惰性加載機制
5.開發時如何對模塊進行規劃

二、模塊作用

首先,模塊作為一個容器,有封裝代碼的作用,組件、指令、管道、服務的根宿主均是模塊。
其次,一個模塊可以導入其他模塊,并導出其他模塊的組件、指令、管道和服務,這種導入、導出能力可以向后傳遞,使得后續模塊不必重復導入相同的模塊,例如:

1.假設模塊A已經導出本模塊的指令和服務,使得其他模塊可以使用
2.模塊B導入了模塊A,并導出模塊A的指令和服務
3.模塊C導入模塊B后則可以使用模塊A的指令和服務而不需要再次導入A
這種能力使得可以規劃一個share模塊來統一導出公共的通用構件,其他模塊只需要導入share模塊則可。

三、模塊元數據

模塊元數據如下:

1.@NgModule是一個裝飾器,聲明某個類是Angular模塊,看起來很像Java的注解,但實際有很大不同,前者用于在編譯期給編譯器編譯代碼,后者用于在運行期控制代碼邏輯。
2.declarations: 聲明屬于該模塊的組件、指令和管道
3.entryComponents:可以動態加載進視圖的組件列表,一般是根組件
4.providers:需要提供依賴注入的服務列表
5.imports: 要導入的其他模塊
6.exports: 導出的組件,指令,管道。只有先導出,其他模塊再導入本模塊后這些構件才能被其他模塊使用。

四、模塊分類

根據模塊的作用不同進行模塊分類有利于代碼維護,Angular模塊分為以下幾類:

1.特性模塊,完成特定的特性功能的模塊,例如訂單模塊,排課模塊
2.路由特性模塊,帶路由的特性模塊
3.路由模塊,專門實現路由功能的模塊
4.服務模塊,提供公共服務的模塊,如HTTP請求服務
5.UI模塊,用于封裝公共的UI組件,例如表格組件,穿梭框組件。

五、惰性加載

在開發過程中經常可見惰性加載的例子,如在數據量大時,樹的加載通常只加載一級節點數據,當有需要時才加載子節點數據。惰性加載的目的是縮短單次交互的時間,提升客戶體驗。為了避免將所有模塊代碼一次加載到客戶端,Angular支持模塊惰性加載,只有帶路由的特性模塊才能惰性加載。特性加載的實現如下:

六、模塊規劃

在開始編寫項目代碼前和項目開發過程中,應先做模塊規劃再編寫代碼,而不是整個項目只有一個特性模塊和一個路由模塊來完成所有事情。模塊規劃主要參考模塊分類以及單一職責原則:
1.先劃分好特性,再按照特性劃分特性模塊
2.每個特性的路由模塊獨立
3.拆分單獨的服務模塊,并根據服務的作用維度不同,繼續拆分和聚合
4.拆分獨立的UI組件模塊
5.劃分需要惰性加載和急性加載的模塊

.End

下期預告:【破境Angular(四)Angular構件之服務】

專題鏈接:
破境Angular(一)初識Angular
破境Angular(二)Angular構件之模塊


關注Java棧及其衍生技術,通過實戰經驗分享,傳播Java棧技術和提高Java棧開發效率。

新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!

總結

以上是生活随笔為你收集整理的破境Angular(三)Angular构件之模块的全部內容,希望文章能夠幫你解決所遇到的問題。

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