我尝试从类中注入html内容,但我得到的结果是字符串而不是html元素,我做错了什么?
角度版本:angular-cli:1.0.0-beta.20-4
html内容:
<div [ngStyle]=getStyles()>{{getData()}}</div>
getData()返回值:
"<span style='color:#5999B6'>this.data</span>"
this.data是一个字符串
答案 0 :(得分:2)
出于安全原因,Angular不允许在模板中直接注入HTML。你需要清理你的HTML。按照以下网址清理HTML。 https://netbasal.com/angular-2-security-the-domsanitizer-service-2202c83bd90
希望它会有所帮助
答案 1 :(得分:0)
您想使用innerHTML
绑定html:
<div [ngStyle]="getStyles()" [innerHTML]="getData()"></div>
但要小心,您必须完全控制getData()
返回的html,以避免XSS问题。