什么是入口组件?

发布于 2024-12-29 11:22:36 字数 814 浏览 13 评论 0

Angular 中通过组件选择器加载的组件不是入口组件。大多数应用组件都是声明式加载的,Angular 使用该组件的选择器在模板中定位元素,然后创建表现该组件的 HTML,并把它插入 DOM 中所选元素的内部。它们不是入口组件。

用于引导的根 AppComponent 就是一个入口组件。虽然它的选择器匹配了 index.html 中的一个元素,但是 index.html 并不是组件模板,而且 AppComponent 选择器也不会在任何组件模板中出现。

Angular 总是会动态加载 AppComponent —— 无论把它的类型列在了 @NgModule.bootstrap 函数中,还是命令式的调用该模块的 ngDoBootstrap 方法来引导它。

在路由定义中用到的组件也同样是入口组件。 路由定义根据类型来引用组件。 路由器会忽略路由组件的选择器 (即使它有选择器),并且把该组件动态加载到 RouterOutlet 元素中。

编译器无法通过在其它组件的模板中查找来发现这些入口组件。 我们必须通过把它们加入 entryComponents 列表中来让编译器知道它们的存在。

Angular 会自动把下列类型的组件添加到模块的 entryComponents 中:

  • 那些出现在 @NgModule.bootstrap 列表中的组件。
  • 那些被路由定义引用的组件。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

橙味迷妹

暂无简介

文章
评论
27 人气
更多

推荐作者

身边

文章 0 评论 0

qq_oxT0yE

文章 0 评论 0

卷着的草席

文章 0 评论 0

£冰雨忧蓝°

文章 0 评论 0

我还不会笑

文章 0 评论 0

Unbroken

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文