【问题标题】:tmpl() is not a functiontmpl() 不是函数
【发布时间】:2018-03-18 12:33:37
【问题描述】:

我在我的 jQuery 3.3.1 项目中收到错误 tmpl() is not a function。根据this page,模板应该是核心的一部分,在1.5版之后。

这是我的 HTML 代码:

<script src="js/jquery-3.3.1.min.js"></script>
<script id="itemTemplate" type="text/x-jQuery-tmpl">
    <tr>
        <td>${title}</td>
        <td><span class="fa fa-plus-square"></span>${amount}<span class="fa fa-minus-square"></span></td>
    </tr>
</script>

...

<table id="basket">

这是我的 Javascript:

$("#itemTemplate").tmpl(item).appendTo("#basket");

我搜索了 jQuery 网站,但在模板上找不到任何内容。

【问题讨论】:

  • 该链接还显示了加载单独的模板脚本并提到了“jQuery 模板插件”。 jQuery核心中没有这样的功能
  • 更好的建议是使用handelbars.js 或mustache.js 之类的模板脚本,或者使用angular、react 或vue 之类的框架
  • @charlietfl 来自页面:“当 jQuery 1.5 发布时,jQuery 模板将包含在 jQuery 核心库(jQuery.js 库)中。”。我想这从未出现过。
  • 那是未来的事情,不,从来没有发生过,那个模板项目也停止了开发。我提到的其他人更流行

标签: javascript jquery templates


【解决方案1】:

看起来 jQuery 不再支持模板了。

引用自 GitHub 上的 jquery-tmpl 存储库

jQuery 模板插件 vBeta1.0.0

jQuery 模板不再处于积极开发中,将被JsRender 取代。请参阅 vBeta1.0.0 标签了解已发布的 beta 版本。需要 jQuery 版本 1.4.2。

注意:这是原始的官方 jQuery 模板插件。该项目由 jQuery 团队作为官方 jQuery 插件维护。由于 jQuery 团队决定不让这个插件超过 beta,它已经返回到主要开发人员的 GitHub 帐户 (Boris Moore)。有关 jQuery 模板的历史和未来路线图的更多信息,请参阅jQuery Templates and JsViews: The Roadmap

【讨论】:

    【解决方案2】:

    阅读您的链接,您似乎忘记为插件添加script,它不是核心jQuery的一部分。 This is the official GitHub page,声明已停产:

    注意:这是原始的官方 jQuery 模板插件。这 项目由 jQuery 团队作为官方 jQuery 维护 插入。由于 jQuery 团队决定不再使用这个插件 beta,已退回到主开发者的GitHub账号 (鲍里斯·摩尔)。

    但是你可以添加函数:

    <script>http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js</script>
    

    【讨论】:

      猜你喜欢
      • 2013-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-27
      • 1970-01-01
      相关资源
      最近更新 更多