首页 > 解决方案 > 使用角度 6 动态生成元素

问题描述

单击按钮时注入一个 html 标记,表示要添加到购物车的新产品名称和数量。客户提交表单后,我希望将这些产品存储在对象数组中。

我面临的问题是 Angular 6 安全性,它隐藏了一些 html 标签,如输入。

试图绕过这个安全问题,我创建了一个名为 SafePipe 的管道,它将 html 转换为 DomSenitizer

<div [innerHTML]="htmltobeadded | safe>

这在这样的模板中运行良好。

在按钮方法中,我使用 javascript 注入了 htmltobeadd,安全问题又来了。

document.getElementById("add").innerHTML = htmltobeadded

我使用 safePipe.transform() 将我的 html 转换为 Domsenitizer

safehtml = safepipe.tranform(htmltobeadded)

并使用

document.getElementById("add").innerHTML = safehtml

错误:safehtml 不可分配给类型字符串

标签: javascriptangular

解决方案


错误:safehtml 不可分配给类型字符串

您可以将其转换为any

document.getElementById("add").innerHTML = safehtml as any

推荐阅读