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)文章
AngularJs導(dǎo)出數(shù)據(jù)到Excel的示例代碼
本篇文章主要介紹了AngularJs導(dǎo)出Excel的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08
angular基于路由控制ui-router實現(xiàn)系統(tǒng)權(quán)限控制
這篇文章主要介紹了angular基于路由控制ui-router實現(xiàn)系統(tǒng)權(quán)限控制的相關(guān)資料,需要的朋友可以參考下2016-09-09
Angular項目過大時的合理拆分angular?split
這篇文章主要為大家介紹了Angular項目過大時的合理拆分angular?split示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-07-07
Angular 4依賴注入學(xué)習(xí)教程之FactoryProvider配置依賴對象(五)
這篇文章主要給大家介紹了關(guān)于Angular 4依賴注入之FactoryProvider配置依賴對象的相關(guān)資料,文中介紹的非常詳細,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-06-06
AngularJS2中一種button切換效果的實現(xiàn)方法(二)
這篇文章主要介紹了AngularJS2中一種button切換效果的實現(xiàn)方法(二),非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03
用angular實現(xiàn)多選按鈕的全選與反選實例代碼
本篇文章主要介紹了用angular實現(xiàn)多選按鈕的全選與反選實例代碼,非常具有實用價值,需要的朋友可以參考下2017-05-05
使用Angular9和TypeScript開發(fā)RPG游戲的方法
這篇文章主要介紹了使用Angular9和TypeScript開發(fā)RPG游戲的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03

