如何解决错误“AccordionGroup 类的名称应以后缀 Component 结尾”

Moh*_*hit 5 css twitter-bootstrap typescript eslint angular

我在 Angular2 和 TypeScript 中遇到错误。类 AccordionGroup 的名称应以后缀 Component 结尾。它不会停止执行,但会显示错误。我已经在 Angular2 和 TypeScript 中实现了手风琴。这是我的代码。请帮助我提前致谢。

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

    @Component({
      selector: 'accordion',
      template:'<ng-content></ng-content>'
    })
    export class Accordion {
      groups: Array<AccordionGroup> = [];
      addGroup(group: AccordionGroup): void {
        this.groups.push(group);
      }
      closeOthers(openGroup: AccordionGroup): void {
        this.groups.forEach((group: AccordionGroup) => {
          if (group !== openGroup) {
            group.isOpen = false;
          }
        });
      }
      removeGroup(group: AccordionGroup): void {
        const index = this.groups.indexOf(group);
        if (index !== -1) {
          this.groups.splice(index, 1);
        }
      }
    }
    @Component({
      selector: 'accordion-group',
      template: `
        <div class="errors-cont" [ngClass]="{'panel-open': isOpen}">
            <div class="acc-header" (click)="toggleOpen($event)">
                <ng-content select="error-header"></ng-content>
            </div>
            <div class="acc-desc" [hidden]="!isOpen">
                <ng-content select="error-body"></ng-content>
            </div>
        </div>
      `
    })
    export class AccordionGroup implements OnDestroy {
      private _isOpen: boolean = false;
      @Input() heading: string;
      @Input()
      set isOpen(value: boolean) {
        this._isOpen = value;
        if (value) {
          this.accordion.closeOthers(this);
        }
      }
      get isOpen() {
        return this._isOpen;
      }
      constructor(private accordion: Accordion) {
        this.accordion.addGroup(this);
      }
      ngOnDestroy() {
        this.accordion.removeGroup(this);
      }
      toggleOpen(event: MouseEvent): void {
        event.preventDefault();
        this.isOpen = !this.isOpen;
      }
    }
Run Code Online (Sandbox Code Playgroud)

eko*_*eko 5

根据此处的样式指南:https ://angular.io/guide/styleguide#style-02-03

请在符号名称后附加该类型事物的常规后缀(例如ComponentDirectiveModulePipe或)。Service

因此,如果您将AccordionGroup组件名称更改AccordionGroupComponent为该问题将得到解决。这适用于您的所有服务和组件。

  • 是的。我找到了它: tslint.json { "component-class-suffix": false } (4认同)