【问题标题】:<script> tags inside Underscore.js templates?Underscore.js 模板中的 <script> 标签?
【发布时间】:2011-11-30 15:31:52
【问题描述】:

我无法在 Underscore 模板中运行嵌套的 JavaScript。

<script type="text/template" id="myTemplate">
   <h3><%= heading %></h3>
   <div class="container"></div>

   //THIS DOES NOT WORK --->
   <script type="text/javascript" charset="utf-8">
     $(".container").html("Test")
   </script>
   //END

</script>

这完全有可能吗,或者我该如何解决这个问题? 谢谢。

【问题讨论】:

  • &amp;lt;script&gt; ..... &lt;/script&amp;gt; 也许?
  • 使用模板的全部意义在于您无需手动调用脚本。你做不到,也不应该这样做。

标签: javascript templates underscore.js


【解决方案1】:
<script type="text/template" id="myTemplate">
   <h3><%= heading %></h3>
   <div class="container"></div>

   //THIS WORK :) --->

   <% print("<sc" + "ript type='text/javascript'>"); %>

     $(".container").html("Test")

    <% print("</sc"+"ript>"); %>

   //END

</script>

我不得不这样做,因为我必须生成未知数量的函数。

【讨论】:

  • 或者您正在生成要在不同上下文中执行的 html。
【解决方案2】:

Javascript 当然不属于模板。所以只有它们不起作用才有意义。

如果需要执行与模板相关的脚本,请将它们放在一个函数中,并在渲染模板时调用它们。

【讨论】:

    【解决方案3】:

    我已经用这种方法来模板化一个 html 页面。

    <script type="text/template" id="mypage">
      <!DOCTYPE html>
      <html>
        <body>
          <script type="text/javascript" src="jquery.min.js"><%= "<"+"/script>" %>
        </body>
      </html>
    </script>
    

    【讨论】:

      猜你喜欢
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 2012-02-14
      • 1970-01-01
      • 1970-01-01
      • 2015-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多