Неожиданный маркер. В Typescrcipt ожидается конструктор, метод, метод доступа или свойство
Я пытаюсь перезвонить после item.upload() с помощью ng2-file-upload в angular 4, но получаю сообщение об ошибке "Неожиданный токен. Ожидается наличие конструктора, метода, метода доступа или свойства "и" Ожидается объявление или инструкция "
Ниже представлен мой компонент и код 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.
}
}
}
app.module.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 { }
2 ответа
Решение
Только члены класса должны быть непосредственно внутри класса. Любой код, который должен быть выполнен как часть инициализации класса, должен быть в конструкторе:
// ...
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.
}
}
}
}
try placing the code within OnInit method
ngOnInit() {
//paste the code here
}
if you are yet to implement OnInit add below code to the class file before {
implements ngOnInit
import ngOnInit from angular/core
e.g
import { Component, OnInit } from '@angular/core';
export class SimpleChatComponent implements OnInit {
ngOnInit() {
//paste the code here
}
}