html - 我想在标签内加载一个组件,该组件也使用 innerHTML 指令
问题描述
我正在尝试使用 innerHTML 指令以及尝试将组件加载到同一个标签中。
一个例子:
<ul *ngFor="let item of array">
<li [innerHTML]="item.listItemHtml">
<app-some-component [someInput]='item.componentInput'><app-some-component>
</li>
</ul>
所以最终结果应该是这样的:
<ul>
<li>
<span>list item 1</span>
<span>component input text 1</span>
</li>
<li>
<span>list item 2</span>
<span>component input text 2</span>
</li>
</ul>
我对 Angular 还是比较陌生,所以我试图掌握一些事情的窍门。如果有人能给我一些关于我如何能够实现这一目标的见解……那就太好了。
解决方案
如果还绑定innerHTML
属性,则不能将组件包含在父元素中。该元素将仅包含innerHTML
绑定设置的 HTML。
outerHTML
您可以通过设置子元素(组件的兄弟)的属性来实现您想要的。它可以是 a div
、 aspan
或其他类型的元素;无论如何,它将被绑定的 HTML 内容替换。
<ul *ngFor="let item of array">
<li>
<div [outerHTML]="item.listItemHtml"></div>
<app-some-component [someInput]='item.componentInput'><app-some-component>
</li>
</ul>
请参阅此 stackblitz以获取演示。
推荐阅读
- clickhouse - 在clickhouse中替换视图替代品?
- sql - 从列表中选择一个随机字符串会导致用 NULLS [SQL] 填充列
- java - 什么对计数、数组或哈希图(或集合)更有效
- youtube - youtube api - 获得波兰订阅最多的游戏频道
- wordpress - 如何使用 AWS Bitnami 让自定义子域在 Wordpress 上工作
- python - 没有可用于写入的主节点 - PyMongo 错误
- amazon-web-services - ECS任务动态端口映射和docker通信
- api-authorization - Seo 面板 Google API 验证失败
- google-apps-script - 如何将我的同意屏幕连接到我的谷歌数据工作室连接器?
- javascript - JavaScript 生成的样式按钮