组件是否可以接收在开始标签和结束标签之间传递给它的内容并将输入直接分配给innerHTML
接收模板内部?
我有这样的string
输入:
public content: string =
'<div class="row">' +
' <div class="col">' +
' <h1>Friendly greetings!</h1>' +
' <p>' +
' This is my homepage..' +
' </p>' +
' </div>' +
'</div>';
并将它放在我的组件中,如下所示:
<app-content>{{ content }}</app-content>
在里面app-content
我可以ng-content
在模板中使用来投影输入内容。由于输入是 astring
我只能看到 a string
,因此它描述的 HTML 元素不会呈现。
我试图通过 注入ElementRef
并访问文本节点this.elementRef.nativeElement.textContent
,但必须先渲染内容才能以这种方式访问它。
当然,我可以ng-content
像这样隐藏内容生成:
<div style="display: none">
<ng-content></ng-content>
</div>
然后得到textContent
一个变量(例如content
)并像这样设置它:
<div [outerHTML]="content"></div>
但这对我来说似乎很老套。
StackBlitz 项目:get-input-of-ng-content-directly
我错过了什么吗?
我想在模板中做这样的事情:<div [outerHTML]="incoming ng-content stuff"></div>
或者至少在组件构造函数中注入内容并将其设置为变量,但不首先渲染内容只是为了隐藏它。