【问题标题】:Failed: Template parse errors: 'app-header' is not a known element失败:模板解析错误:“app-header”不是已知元素
【发布时间】: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


【解决方案1】:
  • 尝试看看你的必须使用“app-header”的组件和HeaderComponent是否也被导入到你的模块中
  • 尝试查看您的组件之一是否未在 2 个或更多模块中导入

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    • 2020-04-19
    • 1970-01-01
    • 2020-02-08
    • 2018-10-15
    • 2021-11-26
    • 1970-01-01
    相关资源
    最近更新 更多