最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Angular?模塊封裝概念常見的錯誤分析理解

 更新時間:2023年07月27日 10:03:17   作者:JerryWang_汪子熙  
這篇文章主要為大家介紹了Angular模塊封裝概念常見的錯誤分析理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

Angular引入模塊封裝概念

Angular 以類似于 ES 模塊的方式引入了模塊封裝的概念。

它基本上意味著可聲明的類型——組件、指令和管道——只能由在該模塊內(nèi)聲明的組件使用。

例如,如果我嘗試使用下面的代碼在 App 模塊的 App 組件內(nèi)使用 A 模塊中的 a-comp

@Component({
  selector: 'my-app',
  template: `
      <h1>Hello {{name}}</h1>
      <a-comp></a-comp>
  `
})
export class AppComponent { }

錯誤消息

Template parse errors: ‘a-comp’ is not a known element

這是因為 App 模塊中沒有聲明 a-comp。 如果我想使用這個組件,我需要導(dǎo)入定義這個組件的模塊。解決方案如下:

@NgModule({
  imports: [..., AModule]
})
export class AppModule { }

這就是封裝發(fā)揮作用的地方:A 模塊必須通過將 a-comp 添加到 exports 數(shù)組來將其聲明為在其他 module 內(nèi)可用:

@NgModule({
  ...
  declarations: [AComponent],
  exports: [AComponent]
})
export class AModule { }

大多數(shù) Angular 新手認為 Providers 也有封裝,這種想法是錯誤的。可以在應(yīng)用程序內(nèi)的任何位置訪問在任何非延遲加載模塊中聲明的 Providers.

Modules hierarchy

關(guān)于 imported modules 的最大困惑是開發(fā)人員認為這些被導(dǎo)入的 Modules 在應(yīng)用運行時維護了一種層次結(jié)構(gòu),并且假設(shè)導(dǎo)入其他模塊的模塊成為被導(dǎo)入模塊的父模塊。

然而,事實并非如此。所有模塊在編譯階段合并。因此,導(dǎo)入的模塊和導(dǎo)入的模塊之間沒有層次關(guān)系。

所需命名空間之一被定義為默認命名空間。 此命名空間的控制標(biāo)記不需要前綴。

<View> 標(biāo)簽是必需的,在上面的示例中,核心命名空間在第一行定義。 當(dāng)然開發(fā)人員可以定義任何名稱。 例如,為了使標(biāo)簽名稱更短,還可以使用 c 而不是 core.

以上就是Angular 模塊封裝概念常見的錯誤分析理解的詳細內(nèi)容,更多關(guān)于Angular 模塊封裝概念分析的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

镇平县| 芦溪县| 平利县| 大竹县| 洞头县| 商城县| 罗平县| 乌什县| 大港区| 奈曼旗| 赤峰市| 连南| 营口市| 巢湖市| 拉萨市| 甘孜| 五大连池市| 西安市| 辽中县| 阿荣旗| 建湖县| 黄浦区| 灵石县| 福泉市| 江永县| 绥中县| 阳高县| 西乌| 龙江县| 青铜峡市| 顺义区| 西藏| 平塘县| 五莲县| 东山县| 台东市| 涟水县| 花莲市| 宜城市| 大连市| 治多县|