Angular Ошибка компиляции: NG6001: класс указан в объявлениях NgModule 'AppModule', но не является директивой, компонентом или каналом - PullRequest
1 голос
/ 19 апреля 2020

Приложение не компилируется с ошибкой

ошибка NG6001: класс 'NavigationMenuItemComponent' указан в объявлениях модуля NgModule 'AppModule', но не является директивой, компонентом или каналом. Либо удалите его из объявлений NgModule, либо добавьте соответствующий Angular декоратор.

Ошибка исчезнет, ​​когда я удалю конструктор с параметрами. Как я могу решить эту проблему, поддерживая конструктор, который имеет параметры, потому что я хочу использовать для инициализации списка компонентов, не вызывая методы набора для каждого члена в списке



    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 {}
    }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...