【发布时间】:2022-01-13 21:25:20
【问题描述】:
我刚刚从 Angular 2 rc4 升级到 rc6 并且遇到了麻烦。
我在控制台上看到以下错误:
Unhandled Promise rejection: Template parse errors:
'cl-header' is not a known element:
1. If 'cl-header' is an Angular component, then verify that it is part of this module.
2. If 'cl-header' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schema' of this component to suppress this message. ("<main>
[ERROR ->]<cl-header>Loading Header...</cl-header>
<div class="container-fluid">
<cl-feedbackcontai"): AppComponent@1:4
这是我的标题组件:
import { Component } from '@angular/core';
import { Router } from '@angular/router';
// own service
import { AuthenticationService } from '../../../services/authentication/authentication.service.ts';
import '../../../../../public/css/styles.css';
@Component({
selector: 'cl-header',
templateUrl: './header.component.html',
styleUrls: ['./header.component.css']
})
export class HeaderComponent { // more code here... }
这是我的头模块:
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { RouterModule } from '@angular/router';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { HeaderComponent } from './../../../components/util_components/header/header.component.ts';
@NgModule({
declarations: [ HeaderComponent ],
bootstrap: [ HeaderComponent ],
imports: [ RouterModule, CommonModule, FormsModule ],
schemas: [ CUSTOM_ELEMENTS_SCHEMA ]
})
export class HeaderModule { }
我创建了一个名为 util 模块的包装模块,它导入 HeaderModule:
import { NgModule } from '@angular/core';
import {HeaderModule} from "./header/header.module";
// ...
@NgModule({
declarations: [ ],
bootstrap: [ ],
imports: [ HeaderModule]
})
export class UtilModule { }
最终由 AppModule 导入:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import {UtilModule} from "./modules/util_modules/util.module";
import {RoutingModule} from "./modules/routing_modules/routing.module";
@NgModule({
bootstrap: [AppComponent],
declarations: [AppComponent],
imports: [BrowserModule, UtilModule, RoutingModule]
})
export class AppModule { }
据我了解,我正在按照错误消息的说明使用 SCHEMA 来抑制错误。但这似乎不起作用。 我究竟做错了什么? (我希望它没有什么明显的,我现在只是没有看到。过去 6 个小时一直在升级到这个版本......)
【问题讨论】:
-
如果你把它添加到你的
AppModule你还需要把它添加到你的组件中吗? -
这里也一样,对我来说只是添加“模式:[CUSTOM_ELEMENTS_SCHEMA]”就像一个魅力。谢谢:)
-
如果您将“修复”添加为对这个问题的回答会很有帮助,这样遇到您的问题的其他人就可以清楚地了解他们如何从使用您的解决方案中受益:]
标签: angular karma-jasmine