Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 把手模板中的内联javascript_Ember.js_Disqus_Handlebars.js - Fatal编程技术网

Ember.js 把手模板中的内联javascript

Ember.js 把手模板中的内联javascript,ember.js,disqus,handlebars.js,Ember.js,Disqus,Handlebars.js,没有办法在把手模板中包含内联脚本吗 <script type="text/x-handlebars"> I'm a row of type "foo" <script type="text/javascript">alert('hi');</script> </script> 我是一排“foo”类型的人 警报(“hi”); 当呈现上述模板时,内联脚本将被删除 我想做的是在一个页面上包含disqs小部件。小部件基本上是一些标记+

没有办法在把手模板中包含内联脚本吗

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

我是一排“foo”类型的人
警报(“hi”);
当呈现上述模板时,内联脚本将被删除

我想做的是在一个页面上包含disqs小部件。小部件基本上是一些标记+取消标记脚本

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

您必须将该小部件包装在自定义的Ember.View中,以便在包装器视图的didInsertElement中实例化它并将其添加到DOM中。Ember期望,特别是在Handlebar模板中,能够完全控制DOM操作,它通过Handlebar magic和Ember.View创建的组合来实现这一点。定义自定义视图后:

MyApp.DisqusView = Em.View.extend({
    didInsertElement: function() {
        // create widget and append it to this.$()
    }
});
您可以在车把模板中使用它:

{{view MyApp.DisqusView}}

出于安全考虑,您的视图不应该添加脚本标记,而应该直接执行任何JS来插入小部件。

+1而且,手柄的想法是没有逻辑性templates@louiscoquio我的车把模板中没有逻辑。当显示模板时,逻辑在JS中。模板本身只有一个脚本标记。@Rajat我犯了一个错误,很抱歉。Handlebar模板希望能够全面了解内部发生的事情。也就是说,在把手模板中发生的不是纯标记的任何事情,无论是逻辑还是其他,都应该发生在{{helper}}符号中。如果你们中的任何人能够帮助我解决这个非常相关的问题,我将不胜感激: