你把它添加到@NgModule.entryComponents 了吗?

Posted

技术标签:

【中文标题】你把它添加到@NgModule.entryComponents 了吗?【英文标题】:Did you add it to @NgModule.entryComponents? 【发布时间】:2018-05-27 00:56:00 【问题描述】:
import Component from '@angular/core';
import IonicPage, NavController, NavParams from 'ionic-angular';
import Dashboard from '../dashboard/dashboard'
import EventPlan from '../event-plan/event-plan'
import EmployeeList from '../../providers/employee-list'
import GoalActionDashboard from '../../providers/goal-action-dashboard'

@IonicPage()
@Component(
  selector: 'page-service-requirement-form',
  templateUrl: 'service-requirement-form.html',
)
export class ServiceRequirementForm 
  eventPlan() 
    this.navCtrl.setRoot(EventPlan);
  

这里我想去另一页点钟按钮。在我的 html 页面中,我有一个按钮,我在其中声明了一个名为 eventPlan() 的函数。但这不起作用。它抛出以下错误:

No component factory found. Did you add it to @NgModule.entryComponents

我该如何解决这个错误?

【问题讨论】:

What is entryComponents in angular ngModule?的可能重复 【参考方案1】:

您似乎在APP.Module.ts 文件中没有imported 标志性框架模块。每当你在模块外使用它时,你需要在你的模块文件中import它。

import  BrowserModule  from '@angular/platform-browser';
import  FormsModule  from '@angular/forms';
import  NgbModule  from '@ng-bootstrap/ng-bootstrap';
import  Ng2SmartTableModule  from 'ng2-smart-table';
import  Ng2CompleterModule  from "ng2-completer";

@NgModule(
  declarations: [component],
  imports: [
    NgbModule.forRoot(),
    FormsModule,
    BrowserModule,
    Ng2SmartTableModule,
    Ng2CompleterModule
  ],
  providers: [ReportService],
  bootstrap: [AppComponent],
  exports:[]
)
export class AppModule  

在上面的代码中,我使用了三个外部模块 NgbModuleNg2SmartTableModuleNg2CompleterModule,我将它们导入到我的 app.module.ts 文件中,这样我就可以毫无错误地访问它们。

@NgModule 元数据中导入您的模块。

【讨论】:

以上是关于你把它添加到@NgModule.entryComponents 了吗?的主要内容,如果未能解决你的问题,请参考以下文章

Azure的功能 - function.json位于何处?

在VS2010中 往WEB页面添加用户控件 就卡住 总是未响应 为啥

如何创建视频播放器

无法将组件加载到页面中 - Angular 4/Ionic 3

如何把PDF文档上传到网上

jQuery droppable 向右/向左移动