javascript - Angular2 和 Ng2Bootstrap 问题 : ComponentLoaderFactory

标签 javascript twitter-bootstrap angular

问题是这样的:

我实际上正在尝试那里提供的 ng2-bootstrap 示例:

http://valorkin.github.io/ng2-bootstrap/#/

我所做的,是使用 system.js 在我创建的 angular2 项目中复制/粘贴示例,我的实际 system.js 配置如下所示:

System.config({
    defaultJSExtensions: true,
    map: {
        '@angular/core': '../node_modules/@angular/core/bundles/core.umd.js',
        //...
    }
});
System.import('main');

我实际上尝试了这些示例,没有任何问题:

CAROUSEL
COLLAPSE
DROPDOWNS

对于任何这些示例,当我在 app.module 的导入部分中声明它们时,我确实使用了 forRoot() 函数:

..., DatepickerModule.forRoot(), CarouselModule.forRoot(), ...

但是,当我尝试复制/粘贴“DATEPICKER”示例时,我遇到了这个问题:

EXCEPTION: Error in templates/datepicker-demo.component.html:24:6 caused by: No provider for ComponentLoaderFactory!

这是打开“datepicker”标签的行。 所以我当时尝试的是在 systemJs 映射中声明“组件加载器”,如下所示:

'ng2-bootstrap/component-loader': '../node_modules/ng2-bootstrap/component-loader/index.js'

并在应用程序模块的“providers”部分中声明它。但是,这并不能解决任何问题,这会导致一个关于没有找到positioning.js的新错误...

这个“组件加载器”类是什么,以及如何正确使用/包含它?

感谢您的阅读/帮助

最佳答案

在你的app.module中:

您的模块文件中的 @NgModule() 中需要有一个 entryComponent 字段,因为您要动态加载 Bootstrap 组件。 在 EntryComponents 数组中添加 Bootstrap 组件,如下所示:

@NgModule({
declaration: [],
imports: [],
  entryComponents: [DatePickerComponent, ModalComponent,..]
})

关于javascript - Angular2 和 Ng2Bootstrap 问题 : ComponentLoaderFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41330428/

相关文章:

angular - 将 ngModel 值重置为默认模型?

javascript - ng2-charts 如何获取多次推送的结果?

php - 属性 "CWebUser.bootstrap"未定义

angular - Bootstrap 5 工具提示在 Angular 11 项目中不起作用

angular - 动态更改 angular2-query-builder 中的配置

javascript - 如何使用lib amqp.node中的consume方法获取所有消息?

html - Bootstrap 没有排水沟

javascript - js - 将 markdown 字符串(仅限粗体和斜体)解析为文本 + 样式 json 数组

javascript - 对 nvd3 图表上的条形进行排序

javascript - HTMLInput隐藏空终止符