内嵌车把模板中的javascript(inline javascript within handle

2019-06-24 03:13发布

有没有办法有一个把手模板内联脚本?

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

当上述模板处理,内嵌脚本被删除。

我所试图做的是包括页面上的小部件disqus。 窗口小部件基本上是一些标记+ disqus脚本。

小部件是被列入我的应用程序的子视图中。 该子视图是默认情况下不可见,但在我的灰烬应用程序的代码显示为每一些逻辑。

Answer 1:

你必须来包装控件在自定义Ember.View处理实例,并将其添加到DOM,在包装视图的didInsertElement。 Ember公司预计,尤其是里面车把模板,有超过DOM操作进行全面控制,它与车把神奇的组合,和Ember.View创作。 一旦你定义你的customview:

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

您可以在车把模板中使用它:

{{view MyApp.DisqusView}}

你的观点应该添加脚本标记的,出于安全原因,而应直接执行任何JS插入部件。



文章来源: inline javascript within handlebars template