angular - 使用 Angular2 上传文件

标签 angular typescript

我目前在这方面遇到了很多麻烦。我试过使用 ng2-file-upload但事实证明它给了我我不明白的错误。

错误

ERROR Error: Uncaught (in promise): Error: No component factory found for TaskComponent. Did you add it to @NgModule.entryComponents?
noComponentFactoryError@http://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版本

最佳答案

看来我在实现这个模块时犯了一个错误。

不知何故现在它可以工作了,我的组件没有错误。 我在我的组件上实现了这些代码

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

现在它似乎工作正常。目前正在开发后端。

感谢所有回答我问题的人!

关于angular - 使用 Angular2 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43937482/

相关文章:

javascript - TypeScript 'Record' 未定义

java - Angular元素在制作后显示白页

angular - 如何使用 Angular Material (mat-table) 创建水平方向的表格

Angular 4 - .filter 不是函数

javascript - types.json 中的 globalDependency 和 globalDevDependency 有什么区别?

angular - 为 ionic 3 添加 javascript 虚拟摇杆

javascript - Angular 5 : HTTP post `Response for preflight has invalid HTTP status code 400.`

javascript - 使用行为主体跨侧组件通信更新计数项

json - 无法升级到 Angular4

javascript - es5 ng.core.component 中 .Class 方法的用途是什么