我正在尝试扩展其中一个Material组件MdTabGroup.使用开箱即用的MdTabGroup组件一切正常 – 材料库正确导入模块等.
这是扩展组件:
@Component({ selector: 'md-custom-tab-group',templateUrl: 'custom-tab-group.html',.... }) export class MdCustomTabGroup extends MdTabGroup { constructor( private _r : Renderer) { super(_r); } }
新组件在app模块中导入并声明,因此创建:
<md-custom-tab-group> <md-tab>one</md-tab> <md-tab>two</md-tab> </md-custom-tab-group>
自定义标签组(custom-tab-group.html)的模板与材质中的模板相同,例如
<div class="mat-tab-body-wrapper" #tabBodyWrapper> <md-tab-body role="tabpanel" *ngFor="let tab of _tabs; let i = index" ... [content]="tab.content" ...> </md-tab-body> </div>
运行时,_tabs ViewChildren集合正在被正确填充 – 它由原始标记中的md-tab声明组成,被解释为Material选项卡组件.但是,custom-tab-group.html模板无效.模板解析器现在不知道’md-tab-body’是什么.
具体 –
Can’t bind to ‘content’ since it isn’t a kNown property of ‘md-tab-body’.
但是当我拿起新模板时,我认为它根本不知道md-tab-body是什么.
问题是 – 如何纠正此行为并使扩展组件正常工作?
解决方法
不是一个好的答案,但正在跟踪的这个问题似乎是它的根源.
https://github.com/angular/material2/issues/9216
一旦它们在导出列表中包含MatTabBody,MatTabHeader和MatTabLabelWrapper,您就应该能够扩展它.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。