'tab' is not a known element 将 ng2-bootstrap 添加到 angular2-seed 时出现错误
'tab' is not a known element errors when adding ng2-bootstrap to angular2-seed
我正在尝试将 ng2-bootstrap 添加到 angular2- 的 新克隆 中seed 项目,但我不断收到以下错误(或类似错误):
Unhandled Promise rejection: Template parse errors: 'tab' is not a known element
我已按照说明进行操作 here 并尝试了多种变体,但就是行不通。我让它在其他使用不同版本的 angular2-seed 的项目中工作,所以也许有些变化还没有记录在他们的 wiki 中。
我创建了一个 repo 来展示我的问题:https://github.com/danielcrisp/angular2-seed
正如我所说,它是 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">`
即使将 ng2-bootstrap 添加到您的项目中,您仍然需要在 index.html 中包含来自 cdn 和模块的样式表。请查看 quick start 并确保您没有遗漏任何内容。
事实证明,我需要将 Ng2BootstrapModule
包含到每个使用它的子 NgModule
中,而不仅仅是主根 NgModule
.
将 Ng2BootstrapModule
导入 home.module.ts
就成功了。
感谢@mgechev 的回答!
解决的问题 'tabset' 不是已知元素:
- 如果 'tabset' 是一个 Angular 组件,则验证它是该模块的一部分。
- 要允许任何元素将 'NO_ERRORS_SCHEMA' 添加到此组件的“@NgModule.schemas”。
在App.module.ts
Add import { TabsModule } from 'ngx-bootstrap/tabs';
Import:[TabsModule.forRoot()]
我正在尝试将 ng2-bootstrap 添加到 angular2- 的 新克隆 中seed 项目,但我不断收到以下错误(或类似错误):
Unhandled Promise rejection: Template parse errors: 'tab' is not a known element
我已按照说明进行操作 here 并尝试了多种变体,但就是行不通。我让它在其他使用不同版本的 angular2-seed 的项目中工作,所以也许有些变化还没有记录在他们的 wiki 中。
我创建了一个 repo 来展示我的问题:https://github.com/danielcrisp/angular2-seed
正如我所说,它是 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">`
即使将 ng2-bootstrap 添加到您的项目中,您仍然需要在 index.html 中包含来自 cdn 和模块的样式表。请查看 quick start 并确保您没有遗漏任何内容。
事实证明,我需要将 Ng2BootstrapModule
包含到每个使用它的子 NgModule
中,而不仅仅是主根 NgModule
.
将 Ng2BootstrapModule
导入 home.module.ts
就成功了。
感谢@mgechev 的回答!
解决的问题 'tabset' 不是已知元素:
- 如果 'tabset' 是一个 Angular 组件,则验证它是该模块的一部分。
- 要允许任何元素将 'NO_ERRORS_SCHEMA' 添加到此组件的“@NgModule.schemas”。
在App.module.ts
Add import { TabsModule } from 'ngx-bootstrap/tabs';
Import:[TabsModule.forRoot()]