angular - 如何在 Angular 4 中插值时插入模板?

标签 angular

我尝试在 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>

Plunker example

关于angular - 如何在 Angular 4 中插值时插入模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46055133/

相关文章:

angular - 使用 mdIcon 时从控制台获取错误

angular - 蛋糕构建 Angular 应用程序以部署到天蓝色

javascript - 在 Angular 编辑时如何传递 id?

javascript - 如何将自定义代码添加到 Angular CLI 生成的服务 worker

angular - 如何检查MatSnackBar是否打开?

node.js - 当对 npm 模块使用私有(private) git url 时,如何将使用应用程序配置为仅使用模块 dist 文件夹中的文件?

Angular 2 快速入门应用

angular - 如何在angular 2中将按钮添加到列到ng2-table

Angular 错误 - 通用类型 'ModuleWithProviders<T>' 需要 1 个类型参数

javascript - Angular 4合并映射问题