Css 如何解决错误';类AccordionGroup的名称应以后缀Component';
我在angular2和typescript中遇到错误。类AccordionGroup的名称应以后缀组件结尾。它不会停止执行,但会显示错误。我已在angular2和typescript中实现了accordion。这是我的代码。请帮助我,提前感谢Css 如何解决错误';类AccordionGroup的名称应以后缀Component';,css,twitter-bootstrap,typescript,angular,Css,Twitter Bootstrap,Typescript,Angular,我在angular2和typescript中遇到错误。类AccordionGroup的名称应以后缀组件结尾。它不会停止执行,但会显示错误。我已在angular2和typescript中实现了accordion。这是我的代码。请帮助我,提前感谢 import {Component, Input, OnDestroy} from '@angular/core'; @Component({ selector: 'accordion', template:'<ng
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;
}
}
从'@angular/core'导入{Component,Input,OnDestroy};
@组成部分({
选择器:“手风琴”,
模板:“”
})
出口级手风琴{
组:数组=[];
addGroup(组:AccordionGroup):无效{
本.组.推(组);
}
关闭其他(打开组:AccordionGroup):无效{
this.groups.forEach((组:AccordionGroup)=>{
如果(组!==openGroup){
group.isOpen=false;
}
});
}
removeGroup(组:AccordionGroup):无效{
常量索引=this.groups.indexOf(组);
如果(索引!=-1){
这是一组拼接(索引,1);
}
}
}
@组成部分({
选择器:“手风琴组”,
模板:`
`
})
导出类AccordionGroup实现OnDestroy{
private _isOpen:boolean=false;
@Input()标题:字符串;
@输入()
设置等参线(值:布尔值){
这是一个数值;
如果(值){
这个。手风琴。其他(这个);
}
}
获取isOpen(){
把这个还给我;
}
建造师(私人手风琴:手风琴){
this.accordion.addGroup(this);
}
恩贡德斯特罗(){
this.accordion.removeGroup(this);
}
toggleOpen(事件:MouseeEvent):无效{
event.preventDefault();
this.isOpen=!this.isOpen;
}
}
根据此处的造型指南:
对于该类型的物品,一定要在符号名称后面加上常规后缀(如组件
,指令
,模块
,管道
,或服务
)
因此,如果您将
accordionggroup
组件名称更改为accordionggroupcomponent
,问题将得到解决。这适用于您的所有服务和组件。@bentaliados您的意思是除了使用建议的约定之外?是的。我找到它:tslint.json{“组件类后缀”:false}