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.