【发布时间】:2020-04-08 05:13:36
【问题描述】:
homepage.module.ts
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from "@angular/core";
import { CommonModule } from "@angular/common";
import { HomepageComponent } from "./homepage.component";
import { SharedModule } from "../shared/shared.module";
@NgModule({
declarations: [HomepageComponent],
imports: [
CommonModule,
SharedModule
],
exports: [HomepageComponent],
providers: [],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class HomepageModule {}
shared-module.ts
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from "@angular/core";
import { CommonModule } from "@angular/common";
import { HeaderComponent } from "./header/header.component";
@NgModule({
declarations: [
HeaderComponent,
],
imports: [
CommonModule,
],
exports: [
HeaderComponent,
],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class SharedModule {}
homepage.component.html
<app-header (toggleSideBarForMe)="sideBarToggler($event)"></app-header>
app.module.ts
import { HomepageModule } from "./homepage/homepage.module";
@NgModule({
declarations: [AppComponent],
imports: [
HomepageModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {}
在运行 karma 时,我遇到了错误。 : 失败:模板解析错误: 'app-header' 不是已知元素: 1. 如果“app-header”是一个 Angular 组件,那么验证它是这个模块的一部分。 2. 如果 'app-header' 是一个 Web 组件,则将 'CUSTOM_ELEMENTS_SCHEMA' 添加到该组件的 '@NgModule.schemas' 以抑制此消息。 ("[错误->]
我需要在 homepage.component.spec 文件中添加任何内容吗?
【问题讨论】:
-
是的,您需要确保测试模块包含所需的一切,就像普通模块一样。
标签: typescript karma-jasmine karma-runner angular8