我正在尝试将 ng2-bootstrap 添加到 angular2-seed 项目的新克隆中,但我一直收到以下错误(或类似):
Unhandled Promise rejection: Template parse errors: 'tab' is not a known element
我已按照说明isWhiteSpace
尝试了几种变体,但它只是不想工作。我让它在其他使用不同版本的angular2-seed的项目中工作,所以可能有些东西已经改变,但尚未在他们的wiki中记录。
我创建了一个展示我的问题的回购:here
正如我所说,它是angular2-seed的新克隆,具有以下变化:
$ npm install ng2-bootstrap --save
然后更新配置:
this.SYSTEM_CONFIG_DEV.paths['ng2-bootstrap'] =
`${this.APP_BASE}node_modules/ng2-bootstrap/ng2-bootstrap.js`;
this.SYSTEM_BUILDER_CONFIG.packages['ng2-bootstrap'] = {
main: 'ng2-bootstrap.js',
defaultExtension : 'js'
};
将Ng2BootstrapModule
导入NgModule
。
然后我添加了一些标签进行测试。
<tabset>
<tab>1</tab>
<tab>2</tab>
</tabset>
如果我从HTML中删除选项卡,我没有错误。如果我尝试其他ng2-bootstrap组件,我也会收到错误,例如
<button type="button" class="btn btn-primary" [(ngModel)]="singleModel" btnCheckbox btnCheckboxTrue="1" btnCheckboxFalse="0">`
答案 0 :(得分:16)
事实证明,我需要将Ng2BootstrapModule
包含在使用它的每个子NgModule
中,而不仅仅是主根NgModule
。
将Ng2BootstrapModule
导入home.module.ts
就可以了。
感谢@mgechev的回答!
答案 1 :(得分:1)
为“tabset”解决的问题不是已知元素:
在 App.module.ts 中
Add import { TabsModule } from 'ngx-bootstrap/tabs';
Import:[TabsModule.forRoot()]
答案 2 :(得分:-1)
即使将ng2-bootstrap添加到项目中,您仍需要在index.html中包含cdn和模块中的样式表。让quick start看一看,确保你没有遗漏任何东西。