2017-05-12 104 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; 

现在看来一切正常。目前正在开发后端。

谢谢所有回复我问题的人!