首页 > 解决方案 > Angular 编译错误:NG6001:该类在 NgModule 'AppModule' 的声明中列出,但不是指令、组件或管道

问题描述

应用程序无法编译并出现错误

错误 NG6001:该类NavigationMenuItemComponent在 NgModule 的声明中列出AppModule,但不是指令、组件或管道。要么从 NgModule 的声明中删除它,要么添加适当的 Angular 装饰器。

当我删除带参数的构造函数时,错误消失了。在维护具有参数的构造函数的同时如何解决这个问题,因为我想用它来初始化组件列表,而不必为列表中的每个成员调用 set 方法

import {
    Component,
    OnInit
} from '@angular/core';

@Component({
    selector: 'app-navigation-menu-item',
    templateUrl: './navigation-menu-item.component.html',
    styleUrls: ['./navigation-menu-item.component.scss']
})
export class NavigationMenuItemComponent implements OnInit {
    static readonly ID_PREFIX: string = 'sidebar-menuitem-';
    static readonly ICON_CLASS_PREFIX: string = 'mdi mdi-';

    constructor(id: string, iconClass: string) {
        this._id = NavigationMenuItemComponent.ID_PREFIX + id;
        this._iconClass = NavigationMenuItemComponent.ICON_CLASS_PREFIX + iconClass;
    }
    //constructor() {}

    private _id: string;
    private _iconClass: string;

    get id() {
        return this._id;
    }

    get iconClass() {
        return this._iconClass;
    }

    set id(id: string) {
        this._id = NavigationMenuItemComponent.ID_PREFIX + id;
    }

    set iconClass(iconClass) {
        this._iconClass = NavigationMenuItemComponent.ID_PREFIX + iconClass;
    }

    ngOnInit(): void {}
}

标签: angulartypescript

解决方案


npm install创建新组件时必须运行。热重载似乎无法添加组件。


推荐阅读