2017-05-12 153 views
3

當談到這個問題時,我目前遇到了很多麻煩。我試圖使用ng2-file-upload,但事實證明它給我錯誤,我不明白。使用Angular2上傳文件

錯誤

ERROR Error: Uncaught (in promise): Error: No component factory found for TaskComponent. Did you add it to @NgModule.entryComponents? 
[email protected]://localhost:4200/vendor.bundle.js:3565:34 [angular] 

它給了我No component factory found for TaskComponent錯誤。這隻有當我的組件內有@Directive時纔會出現。

編輯TaskComponent.ts

import { Directive, Component, OnInit, OnDestroy, ViewChild, EventEmitter } from '@angular/core'; 
import { Router, ActivatedRoute, Params } from '@angular/router'; 
import { Http, Response, Headers } from '@angular/http'; 
import { FileUploader } from 'ng2-file-upload/ng2-file-upload'; 

import { ModalDirective } from 'ng2-bootstrap/modal/modal.component'; 

import { ApiService } from '../../assets/services/api.service'; 

import { UploadOutput, UploadInput, UploadFile, humanizeBytes } from 'ngx-uploader'; 

// class FileSelectDirective 
@Directive({ selector: '[ng2FileSelect]' }) 

@Component({ 
      selector: 'app-task', 
      templateUrl: './task.component.html', 
      styleUrls: ['./task.component.scss'] 
}) 
export class TaskComponent implements OnInit { 
    ngOnInit(){} 
} 

我也導入我的模塊這一點。

RtoModule.ts

import { NgModule } from '@angular/core'; 
import { CommonModule } from '@angular/common'; 
import { FormsModule, ReactiveFormsModule } from '@angular/forms'; 
import { BrowserModule } from '@angular/platform-browser'; 
import { ModalModule } from 'ng2-bootstrap/modal'; 
import { FileUploadModule } from 'ng2-file-upload'; 

import { TaskComponent } from '../task/task.component'; 
import { TaskDetailsComponent } from '../task-details/task-details.component'; 

import { RtoRoutingModule } from '../rto-routing/rto-routing.module'; 

@NgModule({ 
    imports: [ 
    CommonModule, 
    RtoRoutingModule, 
    FormsModule, 
    ReactiveFormsModule, 
    FileUploadModule, 
    ModalModule.forRoot() 
    ], 
    declarations: [ 
    TaskComponent, 
    TaskDetailsComponent 
    ] 
}) 
export class RtoModule { } 

有人能指出我在哪裏我做錯?無論在實施還是在任何地方。

預先感謝您!

PS:即時通訊目前在這個項目中使用Angular4版本

+0

你有'TaskComponent.ts'中的導出類嗎? –

+0

我編輯了我的代碼。 @OmriLuzon –

+0

嘗試在聲明之後添加此行array:entryComponents:[TaskComponent] – BlackEagle

回答

0

看來我瘋了關於實施該模塊是錯誤的。

不知何故,現在它的作品,我的組件沒有錯誤。 我實現了我的組件上,這些代碼

public uploader:FileUploader = new FileUploader({url: URL}); 
    public hasBaseDropZoneOver:boolean = false; 
    public hasAnotherDropZoneOver:boolean = false; 

現在看來一切正常。目前正在開發後端。

謝謝所有回覆我問題的人!