gpt4 book ai didi

ember.js - Handlebars 模板中的内联 javascript

转载 作者:行者123 更新时间:2023-12-03 22:33:50 24 4
gpt4 key购买 nike

没有办法在 Handlebars 模板中包含内联脚本吗?

<script type="text/x-handlebars">
I'm a row of type "foo"
<script type="text/javascript">alert('hi');</script>
</script>

当上述模板呈现时,内联脚本被删除。

我想要做的是在页面上包含 disqus 小部件。该小部件基本上是一些标记 + disqus 脚本。

该小部件将包含在我的应用程序的 subview 中。默认情况下, subview 不可见,但根据我的 Ember 应用程序代码中的某些逻辑显示。

最佳答案

您必须将该小部件包装在自定义 Ember.View 中,以在包装 View 的 didInsertElement 中处理实例化它并将其添加到 DOM。 Ember 期望,尤其是在 Handlebars 模板中,能够完全控制 DOM 操作,它结合了 Handlebars 魔术和 Ember.View 创建来实现这一点。定义自定义 View 后:

MyApp.DisqusView = Em.View.extend({
didInsertElement: function() {
// create widget and append it to this.$()
}
});

您可以在 Handlebars 模板中使用它:
{{view MyApp.DisqusView}}

出于安全原因,您的 View 不应添加 Script 标签,而应直接执行任何 JS 以插入小部件。

关于ember.js - Handlebars 模板中的内联 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10429164/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com