我在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'));
});
}
}
答案 0 :(得分:1)
您的班级没有名字。 例如:
@Directive({
selector: 'ion-textarea[autosize]' // Attribute selector,
})
export class TextAreaDirective {
constructor() {
}
请查看how classes are defined in Typescript:
也请查看Angular style guide的编码规范。
请按照描述组件功能及其类型的模式,对所有组件使用一致的类型名称。推荐的模式是feature.type.ts。
请使用常规类型名称,包括.service,.component,.pipe, .module和.directive。如果需要,还可以发明其他类型名称 注意不要创建太多。
为什么?类型名称提供了一种一致的方法来快速识别什么是 在文件中。
为什么?使用类型名称可以轻松地使用 编辑器或IDE的模糊搜索技术。
为什么?未缩写的类型名(例如.service)是描述性的, 明确的.srv,.svc和.serv等缩写可以是 令人困惑。