在下面的示例中,我使用 ng-template
如下所示,它工作正常。
示例链接: 点击此处
<ng-template #template let-dataSource="">
<span *ngIf="dataSource.iconCss" class="e-menu-icon {{dataSource.iconCss}}"></span> {{dataSource.header}} {{dataSource.text}}
<span *ngIf="dataSource.templateHeader" class="e-login-content">
<button ejs-button cssClass="e-info">Sign In</button>
</span>
</ng-template>
但 我想为 ng-template
内容创建一个新文件,我想在另一个文件中使用它。我试过如下但没有工作。请帮我找到这个案例的解决方案。
模板.html
<ng-template #template let-dataSource="">
<span *ngIf="dataSource.iconCss" class="e-menu-icon {{dataSource.iconCss}}"></span>
{{dataSource.header}} {{dataSource.text}}
<span *ngIf="dataSource.templateHeader" class="e-login-content">
<button ejs-button cssClass="e-info">Sign In</button>
</span>
</ng-template>
默认.html
<div class="control-section">
<ejs-menu #menu [items]='dataSource' [fields]='menuFields'>
<ng-container *ngTemplateOutlet="template;"></ng-container>
</ejs-menu>
</div>
示例 2: 示例 2
参考 stackoverflow 问题: angular2 ng-template 在一个单独的文件中
原文由 Kumaresan Sd 发布,翻译遵循 CC BY-SA 4.0 许可协议
我从 github 角度得到了这个问题的答案,请检查这个 https://github.com/angular/angular/issues/27503
回答:
我已经将我的模板初始化为一个新组件,如下所示
模板.component.ts
然后我在我的父组件中使用了该组件模板,如下所示
默认.html