【发布时间】:2014-01-13 17:57:04
【问题描述】:
当 Angular 插入标记并将作用域变量插入{{post}} 样式模板时,它会转义 HTML。
我正在构建的应用程序需要用户创建模板,使用花括号表示法插入变量名称,我不想通过为某些变量引入指令和为其他变量引入大括号来使其过于复杂。
有没有办法通过 curly 模板呈现非转义的 HTML?
我唯一的选择是在用户尝试渲染{{post}} 时渲染一个代理元素,然后我可以使用 jQLite 抓取它并手动插入 HTML,但这一切都很混乱。有什么想法吗?
【问题讨论】:
-
我不认为有(对于什么那是值得);但是您可能会在处理模板时将
{{post}}替换为<span ng-bind-html="post"></span>。确保不要对injection attacks 敞开心扉,尽管使用ng-bind-html-unsafe会带来更大的风险,因为ng-bind-html仍然会进行一些消毒。
标签: javascript angularjs