问题是这样的:
我实际上正在尝试那里提供的 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/