cjs*_*cjs 3 ionic-framework ionic2 ionic3 angular
我有一个组件 HeroLogoComponent,它在我的应用程序的每个页面的标题元素中使用。它在 app.module 中声明为:
@NgModule({
declarations: [
MyApp,
HeroLogoComponent,
], ...
Run Code Online (Sandbox Code Playgroud)
通过阅读 angular.io 文档,我了解到这应该允许<hero-logo>在每个其他 PageComponent 中使用选择器。但是,当我将其添加到任何其他页面时,我收到错误
Error: Uncaught (in promise): Error: Template parse errors:
'logo' is not a known element
当我更改 PageComponentModule 以包含schemas: [CUSTOM_ELEMENTS_SCHEMA]应用程序加载但该组件仅在 HTML 中显示为空时
<hero-logo><hero-logo>
Run Code Online (Sandbox Code Playgroud)
里面没有任何模板元素。我宁愿声明/导入此组件一次以便在整个应用程序中使用,而不是在每个单独的 PageComponentModule 中使用。有没有办法做到这一点,以便它可以在全球范围内引用?
谢谢!
编辑:
因此,在 app.module.ts 中,引导程序是 IonicApp,因为它是 ionic 生成的项目。
bootstrap: [IonicApp],
Run Code Online (Sandbox Code Playgroud)
引导程序中声明的组件是否全局可用?如果是这样,我将如何从 IonicApp 声明它?
使用下面的代码,HeroLogoComponent将可用于同一声明数组中声明的每个组件。
@NgModule({
declarations: [
MyApp,
HeroLogoComponent,
], ...
Run Code Online (Sandbox Code Playgroud)
如果您有多个 Angular 模块,并且希望每个 Angular 模块中的每个组件都可以访问它,请按照 Aravind 的建议将其放入共享模块中。然后确保将共享模块导入到您定义的每个具有需要它的组件的 Angular 模块中。
要了解更多信息,请查看:https://www.youtube.com/watch?v =ntJ-P-Cvo7o&t=6s
| 归档时间: |
|
| 查看次数: |
2727 次 |
| 最近记录: |