-1

我观察到,虽然将脚本标签中的 JS 写入模板会运行脚本,但使用 Handlebars 表达式将它们插入模板会阻止它运行。

我试过把它写到我的组件中:

test: Ember.String.htmlSafe("<script>console.log('Hello World')</script>")

在我的模板中:

{{test}}

这会将其插入 DOM,但不会运行代码。我以为是因为 HTMLBars 不允许模板中的脚本标签,而只是写

<script>console.log('Hello World')</script>

进入模板本身将在其中运行 JS。

有人可以告诉我是否有办法实现这一目标,或者解释为什么会发生这种情况?提前致谢。

4

2 回答 2

0

如果您使用 javascript 字符串,您可以使用额外的 {{{ }}} 来正确显示它们。安全模板输出:

{{{test}}}

这将完成这项工作。看看这篇博文

http://www.kaspertidemann.com/html-safe-strings-in-handlebars/

于 2016-06-29T17:38:19.993 回答
0

没有必要这样做。您可以从组件运行 JavaScript 代码,也可以<script>在模板中添加标签(就像您在问题中描述的那样)。

于 2016-06-29T21:25:42.817 回答