我观察到,在脚本标签中将JS写入模板时会运行脚本,使用Handlebars表达式将它们插入到模板中会阻止它运行。
我尝试将其写入我的组件:
test: Ember.String.htmlSafe("<script>console.log('Hello World')</script>")
在我的模板中:
{{test}}
这会将其插入DOM,但不会运行代码。我以为是因为HTMLBars不允许模板中的脚本标签,只是写
<script>console.log('Hello World')</script>
进入模板本身将运行JS。
有人可以告诉我是否有办法实现这一目标,或者说明为什么会发生这种情况?提前谢谢。
答案 0 :(得分:0)
如果您使用javascript字符串,则可以使用额外的{{{}}}来正确显示它们。安全模板输出:
{{{test}}}
那将完成这项工作。看看这篇博客文章
http://www.kaspertidemann.com/html-safe-strings-in-handlebars/
答案 1 :(得分:0)
没有必要这样做。您可以从组件中运行JavaScript代码,也可以在模板中添加<script>
标记(就像您在问题中描述的那样)。