Angular 意外标记。Typescrcipt中应包含构造函数、方法、访问器或属性

Angular 意外标记。Typescrcipt中应包含构造函数、方法、访问器或属性,angular,typescript,ng2-file-upload,Angular,Typescript,Ng2 File Upload,我试图在angular 4中使用ng2文件上载在item.upload()之后回调,但我得到一个错误,即“意外令牌”。应为“构造函数、方法、访问器或属性”,应为“声明或语句” 下面是我的组件和app.module代码 有人帮我节省时间吗 上传组件 import { Component } from '@angular/core'; import * as FileSaver from 'file-saver';

我试图在angular 4中使用ng2文件上载在item.upload()之后回调,但我得到一个错误,即“意外令牌”。应为“构造函数、方法、访问器或属性”,应为“声明或语句”

下面是我的组件和app.module代码

有人帮我节省时间吗

上传组件

                import {  Component } from '@angular/core';
                import * as FileSaver from 'file-saver';
                import * as XLSX from 'xlsx';
                import { FileUploader 
                ,FileItem,ParsedResponseHeaders,FileLikeObject} from 'ng2-file-upload';

                @Component ({  
                   selector: 'my-app',  
                   templateUrl:'./excelUpload.html'

                })  
                export class ExcelUploadComponent  { 

                    private uploader:FileUploader = new FileUploader({url:'http://localhost:5000/upload'});

                    this.uploader.onSuccessItem = (item:FileItem, response:string, status:number, headers:ParsedResponseHeaders) => 
                    { console.log("onSuccessItem " + status, response, item); 
                        if(response) 
                        { //parse your response.
                        } 
                    }
                }
应用程序模块.ts

            import { BrowserModule } from '@angular/platform-browser';
        import { NgModule } from '@angular/core';
        import { FormsModule,ReactiveFormsModule} from '@angular/forms'; 
        import { HttpModule } from '@angular/http';
        import { AppComponent } from './app.component';
        import { RouterModule, Routes } from '@angular/router';
        import {ExcelUploadComponent} from './ExcelUpload/ExcelUpload.Component';
        import {  Component } from '@angular/core';
        import { FileSelectDirective, FileDropDirective } from 'ng2-file-upload';
        import { FileUploadModule } from 'ng2-file-upload/ng2-file-upload';



        @NgModule({
          declarations:[ AppComponent,
             ExcelUploadComponent
            ,FileDropDirective, FileSelectDirective ],
          imports:    [ BrowserModule , FormsModule,HttpModule],
          providers: [],
          bootstrap: [LayoutComponent]

        })
        export class AppModule { }

只有类成员应该直接位于类内部。作为类初始化的一部分需要执行的任何代码都应该在构造函数中:

// ...
export class ExcelUploadComponent {

    private uploader: FileUploader = new FileUploader({ url: 'http://localhost:5000/upload' });
    constuctor() {
        this.uploader.onSuccessItem = (item: FileItem, response: string, status: number, headers: ParsedResponseHeaders) => {
            console.log("onSuccessItem " + status, response, item);
            if (response) { //parse your response.
            }
        }
    }

}

只有类成员应该直接位于类内部。作为类初始化的一部分需要执行的任何代码都应该在构造函数中:

// ...
export class ExcelUploadComponent {

    private uploader: FileUploader = new FileUploader({ url: 'http://localhost:5000/upload' });
    constuctor() {
        this.uploader.onSuccessItem = (item: FileItem, response: string, status: number, headers: ParsedResponseHeaders) => {
            console.log("onSuccessItem " + status, response, item);
            if (response) { //parse your response.
            }
        }
    }

}

this.uploader.onSuccessItem=..
移动到
constructor
this.uploader.onSuccessItem=..
移动到
constructor
但如果我在构造函数中使用上述方法,则在成功上载后不会触发回调函数。但如果我在构造函数中使用上述方法,则在成功上传。