繁体   English   中英

车把—预编译模板中的脚本无法运行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM