我尝试在 Angular 中实现嵌套翻译(链接的内容有翻译,并且该链接必须嵌入到另一个翻译中),这一切都归结为以下场景:
<ng-template #link>
<a href="#">Test</a>
</ng-template>
<p>Your link: {{link}}</p>
但是,在上面的情况下,link
是 TemplateRef 对象。所以我的问题是,如何用 TemplateRef 的内容替换大括号的内容?
提前谢谢您!
最佳答案
更新 Angular 5
ngOutletContext
已重命名为 ngTemplateOutletContext
另请参阅https://github.com/angular/angular/blob/master/CHANGELOG.md#500-beta5-2017-08-29
原创
NgTemplateOutlet
执行您想要的操作:
<p>Your link: <ng-container *ngTemplateOutlet="link"></ng-container></p>
您还可以传递上下文数据以用于模板内的绑定(bind)。
https://angular.io/api/common/NgTemplateOutlet
在 StackOverflow 上搜索 NgTemplateOutlet
应该会提供更多示例。
更新
<ng-template #linkTemplate let-link>
<a href="#">{{link}}</a>
</ng-template>
<p>Your link: <ng-container *ngTemplateOutlet="linkTemplate; context: {$implicit: link}"></ng-container></p>
关于angular - 如何在 Angular 4 中插值时插入模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46055133/