繁体   English   中英

在Angular 2中,私有组件(未导出的组件)的用途是什么

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM