javascript - 使用角度 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 不可分配给类型字符串
解决方案
错误:safehtml 不可分配给类型字符串
您可以将其转换为any
:
document.getElementById("add").innerHTML = safehtml as any
推荐阅读
- c - C 中的正则表达式 - 搜索信用卡号 - PCI 合规性
- lstm - 如何将单词向量传递给LSTM?
- database - 使用重定向恢复联机 DB2 备份无法前滚
- python - ValueError:无法将大小为 50176 的数组重塑为形状 (1,224,224,3)
- android - 从两个不同的数据中检索数据到 Android 中的 RecyclerView
- python - 使用 Python 在 PDF 中放置垂直或旋转文本
- ios - 核心数据获取所有非零对象并按多对多过滤
- javascript - 使用 javascript 切换元素的可见性和滑动
- node.js - 在循环中插入数据时,使用 (Firebase) 的 Node.js 程序似乎锁定
- visual-studio-code - VS:Code - PHP 文件中的完整 HTML 代码完成