车把模板内的内联javascript

Raj*_*jat 14 disqus handlebars.js ember.js

是否有办法在Handlebars模板中使用内联脚本?

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

上述模板呈现时,将删除内联脚本.

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

该小部件将包含在我的应用程序的子视图中.默认情况下,子视图不可见,但在我的Ember应用程序代码中按照某些逻辑显示.

Chr*_*sey 10

您必须在自定义Ember.View中将该窗口小部件包装起来,以便在包装器视图的didInsertElement中处理实例化并将其添加到DOM.Ember期望,特别是在车把模板内部,可以完全控制DOM操作,并且它通过组合车把魔法和Ember.View创建来实现.一旦定义了自定义视图:

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

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

{{view MyApp.DisqusView}}
Run Code Online (Sandbox Code Playgroud)

您认为应该添加脚本标记的,出于安全原因,而应直接执行任何JS插入部件.