javascript - 如何将多个模板合并到一个html中下划线、文本

标签 javascript html templates backbone.js underscore.js

我的 tpl 文件夹中有很多模板。为了加快加载性能并减少与服务器的交互,我想将模板与 Id 标记合并在一个 HTML 中:

例如:

以下是模板common.html的内容

+++++++++++++++++++++++++++++++++++++++++++++++
<script type="text/template" id="tpl-banner1">
    <div class="banner">
        <div class="banWp addWrap" id="bannerWp1">
        </div>
    </div>
</script>
<script type="text/template" id="tpl-banner2">
    <div class="banner">
        <div class="banWp addWrap" id="bannerWp2">
        </div>
    </div>
</script>

+++++++++++++++++++++++++++++++++++++++++++++++

一个 html 文件中的两个部分。在js中,我只是通过以下方式引用模板:

define(['text!common.html'], function (IndexBannerTpl)  {

}

我的问题是如何引用该部分(id="tpl-banner2")?在 Backbone 中?

If only contains one section, I could use it like that:
+++++++++++++++++++++++++++++++++++++++++++++++
var template = _.template(IndexBannerTpl, {items: items_ibm});
+++++++++++++++++++++++++++++++++++++++++++++++

How to use id="tpl-banner1" and id="tpl-banner2"?

王翔

最佳答案

尝试以下操作:

var html = $(IndexBannerTpl).filter('#tpl-banner1').html();
var template = _.template(html, {items: items_ibm});

关于javascript - 如何将多个模板合并到一个html中下划线、文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34514691/

相关文章:

c++ - 派生模板覆盖成员函数 C++ 的返回类型

javascript - 钛/ Backbone : Ensure that a property on a model always has it's type converted

php - 表未使用 Ajax 和 Mysql 更新

html - 用html、css制作硬图

javascript - 当 # 已经添加到 url 时,如何使用 javascript 或 jquery 将焦点设置在 div 上?

c++ - "template <class T, class C>"和 "template <class T> template <class C>"有什么区别

javascript - 显示自动完成响应多个值

javascript - Angular JS - 如何提及模块依赖关系?

javascript - Laravel 路由不适用于 js

c++ - 模板推演