javascript - 将 html 作为输入传递给 Angular 组件
问题描述
我想创建一个app-my-component
组件,可以通过以下方式使用:
<app-my-component>
<div>Some element inside</div>
</app-my-component>
然后我想在里面使用那个组件/html元素app-my-component
,像这样:
<p>You provided this element as parameter:</p>
<ng-template [ngTemplateOutlet]="inputElement"></ng-template>
这怎么可能?我找不到任何关于此的文档,但我曾经看到使用此功能的代码,所以我希望它仍然是可能的。
我在课堂上添加了这个MyComponent
:
@ContentChild(TemplateRef)
public inputElement: TemplateRef;
但是该元素没有出现。
解决方案
尝试使用这样的东西。它称为内容投影
<!-- inside container / app-my-component component -->
<ng-content select="slot-one"></ng-content>
<!-- inside another component using container component -->
<app-my-component>
<slot-one>Some element inside</slot-one>
</app-my-component>
推荐阅读
- android - 在后台应用程序中处理通知消息
- apache-spark - PySpark:读取镶木地板时如何读取分区列
- project-reactor - 用千分尺测量 ElasticScheduler?
- python - 提高 pandas to_csv() 将大数据写入磁盘的速度
- authentication - 授权请求标头与凭据的 POST 请求正文
- sockets - 如何在基于异步模式的 boost::asio 中接收未知大小的缓冲区
- python - 尝试使用列表理解将列表中的每个数字相乘但不起作用
- excel - 在excel中查找和更改值
- autohotkey - Excel Com 对象使用 AutoHotKey 随机不可见
- python - Can't import cross_validation from sklearn in version > 0.20