Viv*_*vek 14 lazy-loading angular
当我们在应用程序的根模块中导入BrowserModule时,我们可以使用NgIf和NgFor(在急切加载的组件中).但对于延迟加载的模块,我必须导入已由root的BrowserModule导出的CommonModule.为什么我们必须在延迟加载的模块中再次导入它?
yur*_*zui 21
正如Ward Bell所说(https://devchat.tv/adv-in-angular/119-aia-avoiding-common-pitfalls-in-angular2):
只要您的应用程序中只有一个模块并且您将所有内容都放在那里,您就可以从隐藏在浏览器模块中的公共模块中受益.你创建一个新模块的时候,懒惰与否,任何新模块,你向它声明任何东西,新模块都有一个干净的状态.它不知道任何东西,Angular或任何东西.它是任何模块,而不是您声明某些内容的惰性模块,您将不得不导入您在其中声明的任何组件实际需要的所有内容.这就是你需要通用模块的原因
模块不继承对在其他模块中声明的组件,指令或管道的访问.(https://angular.io/guide/ngmodule#add-the-contactmodule见橙色块)
这就是为什么你必须导入CommonModule到访问ngIf,ngFor等指令.您的模块对其他模块的指令一无所知.它只查看它declarations和exports来自导入的模块
也可以看看:
| 归档时间: |
|
| 查看次数: |
6157 次 |
| 最近记录: |