angular - 如何使用模块在 Angular 6 中指定多个组件
问题描述
我想使用模块 joke.module.ts 来指定多个组件;在这种情况下,我从 src/app 中的 joke/joke.module.ts 中的 JokeComponent 开始
import { Component } from '@angular/core';/
@Component({
selector: 'joke',
template: `
<h1>What did the cheese say when it looked in the mirror?</h1>
<p>Halloumi (hello me)</p> `
})
export class JokeComponent {
}
在 app.component.ts 我想使用 joke/joke.module.ts 并使用标签“笑话”
import { Component } from '@angular/core';
import { JokeModule } from './joke/joke.module';
@Component({
selector: 'app-root',
template: `
<joke></joke>
`,
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app';
}
我在 src/app/joke 中创建了模块 joke.module.ts
import { NgModule } from '@angular/core';
import { JokeComponent } from './joke.component';
import { AppComponent } from '../app.component';
@NgModule({
imports: [ AppComponent ],
declarations: [
JokeComponent
],
entryComponents: [JokeComponent]
})
export class JokeModule { }
但是,当我运行应用程序时,我收到错误 Uncaught Error: Template parse errors: 'joke' is not a known element: 1. 如果 'joke' 是 Angular 组件,则验证它是否是该模块的一部分。
解决方案
您的导入和声明似乎是错误的。像这样纠正它们:
在
JokeModule
您的AppModule
.entryComponents: [JokeComponent]
从中删除JokeModule
,而不是将其添加AppModule
为entryComponents: [AppComponent]
。imports:[ AppComponent ]
从中删除JokeModule
导出为
JokeComponent
_JokeModule
exports : [JokeComponent]
您的 bootsrtap 组件应该是AppComponent
,其余组件将是您的组件的子app-root
组件。
工作演示
推荐阅读
- javascript - 避免用 string.replace 替换以前的字母
- python - 如何使用 Selenium e Tor 按下“不可见”按钮,但知道 html ID?
- sql - 如何使用其他列值的连接更新列
- apache - 为多个参数和页面编辑 .htaccess
- opengl - 使用 GLX 时,OpenGL glReadPixels 不适用于 EGL
- php - 在 AWS 上部署 Laravel Echo
- highcharts - Highcharts - 样式模式下的工具提示宽度
- elasticsearch - ElasticSearch:根据 reverse_nested doc_count 排序顶级聚合桶
- swift - iOS NetworkExtension:对 iPhone 中的所有查询使用自定义 DNS 服务器
- django - Django - 此表单中“无法设置属性”错误的原因是什么?