angular 6:不带'的类声明;默认值';修饰符必须有一个名称
我的angular 6:不带'的类声明;默认值';修饰符必须有一个名称,angular,typescript,ionic-framework,angular6,Angular,Typescript,Ionic Framework,Angular6,我的ts.file中出现了这种错误,这可能是我刚刚开始学习角度/离子世界的原因 我尝试了各种方法来清除它,但没有运气 import { Component } from '@angular/core'; import { NavController, NavParams } from '@ionic/angular'; import {Announcements} from '../../../environments/environment'; import {AngularFireAuth
ts.file
中出现了这种错误,这可能是我刚刚开始学习角度/离子世界的原因
我尝试了各种方法来清除它,但没有运气
import { Component } from '@angular/core';
import { NavController, NavParams } from '@ionic/angular';
import {Announcements} from '../../../environments/environment';
import {AngularFireAuth} from 'angularfire2/auth';
import {AngularFireDatabase} from 'angularfire2/database';
import { take } from 'rxjs/operators';
import { Directive, HostListener, ElementRef } from '@angular/core';
@Component({
selector: 'app-add-our-announcements',
templateUrl: './add-our-announcements.page.html',
styleUrls: ['./add-our-announcements.page.scss'],
})
@Directive({
selector: 'ion-textarea[autosize]' // Attribute selector,
})
export class {
constructor(
private afauth: AngularFireAuth,
private afDatabase: AngularFireDatabase,
public navCtrl: NavController,
public navParams: NavParams,
public element: ElementRef) {
}
announcements = {} as Announcements;
@HostListener('document:keydown.enter', ['$event']) onKeydownHandler() {
this.adjust();
}
AfterViewInit() {
this.adjust();
}
adjust(): void {
const textArea = this.element.nativeElement.getElementsByTagName('textarea')[0];
textArea.style.overflow = 'hidden';
textArea.style.height = 'auto';
textArea.style.height = (textArea.scrollHeight + 42) + 'px';
}
createAnnouncements() {
this.afauth.authState.pipe(take(1)).subscribe(() => {
this.afDatabase.list(`announcements`).push(this.announcements)
.then(() => this.navCtrl.navigateForward('ListOfOurAnnouncementsPage'));
});
}
}
您的类没有名称。 例: 请看 还可以查看编码规范 按照描述组件特性的模式,然后是描述组件类型的模式,对所有组件使用一致的类型名称。推荐的模式是feature.type.ts 请使用常规类型名称,包括.service、.component、.pipe、, .module和.directive。如果必须,请发明其他类型名称 注意不要制造太多 为什么??类型名称提供了一种一致的方法来快速识别 在文件中 为什么??类型名称使使用 编辑器或IDE的模糊搜索技术 为什么??未命名的类型名称(如.service)是描述性的,并且 毫不含糊的可以使用缩写,例如.srv、.svc和.serv 令人困惑
根据错误提示,为类提供名称<代码>导出类MyClassName此处我现在收到这样的错误“类的名称AddOurAnnouncementsPage应该以后缀指令结尾”谢谢,我刚刚在类中添加了一个名称,现在它带来了错误“类的名称AddOurAnnouncementsPage应该以后缀指令结尾”是,您的类名应该附带
指令
。通常,类名应以类的类型结尾。例如:一个组件类应该有一个名称:MyButtonComponent
,一个指令应该是addourannouncementsddirective
,依此类推。是的,我刚刚将该指令添加到名称中,现在它正在提醒我“AddOurAnnouncementsPageDirective”指令的选择器应该有前缀“app”“是,这些是在tslint.json中定义的ts lint规则。您可以将“app”添加到选择器EX:选择器:“app-ion-textarea[autosize]”
,也可以通过删除或修改tslint.json中的此规则来禁用该选项。这是一个让指令选择器使用应用程序的标准,您也可以向它添加任何其他值。例如:“指令选择器”:[true,“attribute”、[“myapp”、“myname”]、“camelCase”]、“component selector”:[true,“element”、[“myapp”、“myname”]、“kebab case”],
感谢您对nkuma_12的持续反馈,我已经尝试了这两种方法,但没有改变错误
@Directive({
selector: 'ion-textarea[autosize]' // Attribute selector,
})
export class TextAreaDirective {
constructor() {
}