[英]Handlebars — script in precompiled template doesn't run
我有一个预编译的车把模板。 我只是用html向其发送值(像普通的一样),但是我决定要包含一个将其插入DOM时要执行的脚本。 但是,我无法使脚本运行。
当没有预编译他们的把手模板时,很多人似乎遇到了这个问题,但是我没有看到很多预编译它的问题。
这是我的.hbs文件的基本结构:
<div>
<h1>{{title}}</h1>
</div>
<script>
// please do something
alert('Executing the script');
</script>
我将把手插入DOM,并且该部分正在工作(已注入html并且已设置变量)。 但是,该脚本永远不会执行。
有任何想法吗?
正如我之前写的评论中提到的那样,您不能将脚本直接添加到Handlebars模板中。
您可以创建新的HTML标记,将其动态地视为可以完成您想要完成的工作的代码。 例:
<div data-handlebars-script="example-stack-overflow"></div>
要么
<example-stack-overflow />
(我希望采用更标准的方式-第一个)。
渲染模板后,可以使用jQuery。
$('div[data-handlebars-script="example-stack-overflow"').each(function() {
// Do your stuff here
});
编辑
让我一边发表评论。 如果您需要这样做,可能表明您的设计存在某种缺陷。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.