[英]In Angular 2, what is the use of private components (components not exported)
我知道通过导出组件,模块可以使它们可用于导入该组件的任何模块。 但是我只是想知道什么是“有用的”场景,其中这些组件不导出(或保存为私有/本地),而是在其父模块中声明。
在Angular(以及其他形式的)开发中,有一种称为延迟加载的方法。 这样的想法是,每条路线或路线系列将是它们自己的模块,并且所有组件都在模块中声明。 您不会导出组件。
而是在哪里配置应用程序路由,而不是为路由传递组件,而是导入为该路由创建的模块的子级。
但是,可能需要在不同的路线之间共享某些资产。 也许那将是某种模式,或者是导航栏。 这些组件将包含在通常称为SharedModule
的模块中,并且将从该模块中导出。 然后将SharedModule
作为导入添加,然后为路由创建的隔离模块将可以访问那些共享组件(以及可能的管道)。
我希望能对如何/为什么使用模块,导入模块,导出组件以及不使用的原因有一个不错的了解。 如果您有兴趣了解我的意思,可以深入了解此代码库 ,尤其是查看用于路由到模块src/app/shared/shared.module.ts
的文件src/app/app-routing.module.ts
src/app/shared/shared.module.ts
用于导出组件的src/app/shared/shared.module.ts
以及不用于导出组件的src/app/home/home.module.ts
,它将向您展示如何引入SharedModule
但不从该模块导出任何内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.