web-dev-qa-db-ja.com

Angular 2: 'input'の既知のプロパティではないため、 'uploader'にバインドできません

Ng2-file-uploadモジュールをアプリケーションに統合しようとしています。

そして、このテンプレートエラーを取得しています:「入力」の既知のプロパティではないため、「アップローダー」にバインドできません

UPDATEフォルダーstr:

/src/app/app.module.ts

/src/app/components/layout/
                           layout.module.ts
                           other layout components files

                  /category-items
                            category-items.module.ts
                            category-items.component.ts

layout.module.ts

import { LayoutComponent } from './layout.component';

declarations: [
    LayoutComponent,

category-items.module.ts

import { CategoryItemsComponent } from './category-items.component';

import {FileUploadModule} from "ng2-file-upload";   

imports: [  ...FileUploadModule ... ]   

app\app.module.ts

 import {FileUploadModule} from "ng2-file-upload";   

 imports: [  ...FileUploadModule ... ]  

app\components\layout\category-items\category-items.component.ts

import { FileUploader } from 'ng2-file-upload';

@Component({
  selector: 'button-view',
  template: `

  <input type="file" class="form-control" name="single" ng2FileSelect [uploader]="uploader" />   

  `
  })

export class ButtonViewComponent implements ViewCell, OnInit {

...
 public uploader:FileUploader = new FileUploader({url:'http://lcoalhost:5000/upload'});

}

@Component({
  selector: 'app-category-items',
  templateUrl: './category-items.component.html',
  styleUrls: ['./category-items.component.scss']
})

export class CategoryItemsComponent implements OnInit {
...
}

または、以下のように試してみると、予期しない終了divタグが表示されます

<div ng2FileDrop
         (fileOver)-'fileOverBase($event)'
         [uploader]="uploader"
         class="well my-drop-zone">
        Base drop zone
    </div>

さまざまな投稿でapp.moduleで 'FileUploadModule'のインポートの複数の組み合わせを試しましたが、私の場合は何も動作しないようです。

エラースタックトレース:

「キャッチされない(約束):エラー:テンプレート解析エラー:known「入力」の既知のプロパティではないため、「アップローダー」にバインドできません。( "↵↵

同じ解決策に関する多くの投稿をグーグルで検索しました:

参照の一部は次のとおりです(ただし、何も助けません)。

https://github.com/valor-software/ng2-file-upload/issues/418

https://github.com/valor-software/ng2-file-upload/issues/608

11
phyme

'upload'を使用してコンポーネントを宣言するモジュールにFileUploadModuleをインポートする必要があります。この場合はcategory-items.module.tsになります

category-items.module.ts

import { CategoryItemsComponent } from './category-items.component';

import { FileUploadModule } from "ng2-file-upload";   //Should import HERE

imports: [  ...FileUploadModule ... ]   //RIGHT PLACE
30
0mpurdy

app.module.tsに追加this

import { FileSelectDirective } from 'ng2-file-upload';
@NgModule({
    imports: [
        ...
],
    declarations: [
        FileSelectDirective
    ],
    providers: [
        ...
],
    bootstrap: [
        App,
    ],
})

https://github.com/valor-software/ng2-file-upload/issues/418#issuecomment-24986517

またはFIleUploadModuleを各親モジュールにインポートしてみてください

import {FIleUploadModule} from 'ng2-file-upload';

imports: [
    FIleUploadModule,
    ..........,
    ........,
    ......,

]

動作するはずです。

0
Kishore Peter