angular - Kan inte binda till 'uploader' eftersom det inte är en känd egenskap hos 'div'
jag försöker använda detta bibliotek för att ladda upp filer i angular2 CR5 typescript. Jag använder angular "version": "1.0.0-beta.16"
Så, först jag
npm i ng2-file-upload --save
i komponenten har jag:
import { Component } from '@angular/core';
import { FileUploader } from 'ng2-file-upload';
// const URL = '/api/';
const URL = 'https://evening-anchorage-3159.herokuapp.com/api/';
@Component({
selector: 'app-simple-demo',
templateUrl: './simple-demo.component.html',
styleUrls: ['./simple-demo.component.css']
})
export class SimpleDemoComponent {
public uploader:FileUploader = new FileUploader({url: URL});
public hasBaseDropZoneOver:boolean = false;
public hasAnotherDropZoneOver:boolean = false;
public fileOverBase(e:any):void {
this.hasBaseDropZoneOver = e;
}
public fileOverAnother(e:any):void {
this.hasAnotherDropZoneOver = e;
}
}
en del av HTML-sidan av komponenten är:
<div ng2FileDrop
[ngClass]="{'nv-file-over': hasBaseDropZoneOver}"
(fileOver)="fileOverBase($event)"
[uploader]="uploader"
class="well my-drop-zone">
Base drop zone
</div>
och det klagar med:
Can't bind to 'uploader' since it isn't a known property of 'div'. ("s': hasAnotherDropZoneOver}"
(fileOver)="fileOverAnother($event)"
[ERROR ->][uploader]="uploader"
class="well my-drop-zone">
Another drop zone
"): AppComponent@33:17
Svar #1
Lösningen var att uppdatera min Angular till den senaste versionen.
och lägg sedan till följande i app.module-filen:
import { FileUploadModule } from "ng2-file-upload";
//...
@NgModule({
imports: [
//...,
FileUploadModule
],
declarations: [],
providers: []
})
export class ObjektinfoModule {
}
Svar #2
ibland behöver du använda (uploader) istället för hakparenteser [uploader] för att binda egenskapen korrekt. Mycket märkligt men det löste problemet för mig.
