角度6:没有'default'修饰符的类声明必须具有名称

时间:2018-11-21 14:45:35

标签: 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} 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'));
            });
        }

  }

1 个答案:

答案 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等缩写可以是   令人困惑。