angular 2.0 模塊化學習

Angular 應用是模塊化的,並且Angular有自己的模塊系統,它被稱爲Angular模塊或者NgModules.

每一個Angular應用至少有一個模塊------根模塊,有可能會從根模塊重構出一些其他特定的模塊。特性模塊用來實現一組密切相關的功能,然後我們在根模塊中導入它們。

Angular模塊都是帶有@NgModule裝飾器的類,是用來修飾javascript的。Angular模塊是用@NgModule定義應用中的模塊。

NgModule是一個裝飾器,用來接收一個用來描述模塊屬性的元數據對象,該對象告訴Angular如何編譯和運行模塊代碼。

擁有幾點比較重要的屬性:

 declarations(聲明):本模塊中擁有的視圖類。Angular有三種視圖:組件,指令,管道。

   exports:declarations的子集,它可用於其他模板中的組件,模板。

  imports:本模板組件模板中需要由其他版本導出的類。BrowerModule模塊是每個運行在瀏覽器的應用都必須要導入它。

  providers:服務的創建者。本模塊把它們加入全局的服務表中,讓它們在應用中的任何部分都能被訪問到。

 bootstrap:標識出應用的主視圖,它是所有其他視圖的宿主。只有根模塊才能設置bootstrap屬性。

講述下angular模塊和javascript模塊的區別:

  Angular模塊(一個用@NgModule裝飾的類)是Angular的基礎特性。

  JavaScript 也有自己的模塊,

  它用來管理一組Javascript對象,每一個文件就是一個模塊,並且該文件中定義的所有對象都屬於那個模塊。通過export關鍵字,模塊可以把它的某些對象聲明爲公開。別的javascript模塊中可以使用import語句來訪問這些公開對象。 

模塊庫的概念:
  angular2.0發佈了一組javascript模塊。每個angular庫的名字都帶有@angular前綴。
  可以採用npm包管理工具去安裝它們,並用javascript的import語句導入它們的某些部件。
  很多Angular庫都是模塊,比如:FormsModule,HttpModule,RouterModule。許多第三方的庫也封裝成了Angular模塊,
  比如:Material Design,lonic,AngularFire2.
  模塊可能在應用啓動時主動加載,也可能由路由器進行異步惰性加載。

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