我嘗試實施角嵌套翻譯(鏈接的內容有翻譯,而這個鏈接已經被嵌入到另譯),這一切都歸結爲我以下情形:如何在插入Angular 4時插入模板?
<ng-template #link>
<a href="#">Test</a>
</ng-template>
<p>Your link: {{link}}</p>
但是,在上述情況下link
是TemplateRef對象。所以我的問題是,我如何用TemplateRef的內容替換大括號的內容?
預先感謝您!
我嘗試實施角嵌套翻譯(鏈接的內容有翻譯,而這個鏈接已經被嵌入到另譯),這一切都歸結爲我以下情形:如何在插入Angular 4時插入模板?
<ng-template #link>
<a href="#">Test</a>
</ng-template>
<p>Your link: {{link}}</p>
但是,在上述情況下link
是TemplateRef對象。所以我的問題是,我如何用TemplateRef的內容替換大括號的內容?
預先感謝您!
更新角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>
您還可以傳遞要用於模板內綁定的上下文數據。
https://angular.io/api/common/NgTemplateOutlet
搜索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>
謝謝您的及時答覆!我有一個後續問題:'你的鏈接:{{link}}'實際上是來自外部API的翻譯,我寧願在我的翻譯中不要有'
對不起,那我可能不明白這個問題。 '
我更新了我的答案。仍然不確定,如果這是你想要的。 –
您還可以安裝一個模板,在下面的方法條件。如果您想在其他條件下加載您的模板。
<ng-content *ngIf="!content; else link">
</ng-content>
<ng-template #link>
<div [innerHtml]="otherContent">
</div>
</ng-template>
</div>
您期望得到的html是什麼? –