javascript - 任何返回 DOM 片段的 JavaScript 模板库/系统/引擎/技术?

标签 javascript templates dom

我必须制作一个高速网络应用程序,我需要一个 JavaScript 模板库/系统/引擎/技术来返回 DOM 片段而不是包含 HTML 的字符串。

当然它应该有一些类似于Resig's Micro-Templating的语言

编译后我期待这样的事情:

function myTemplate(dataToRender){
    var fragment = document.createDocumentFragment();
    fragment = fragment.appendChild(document.createElement('h1'));
    fragment.appendChild(document.createTextNode(dataToRender.title));
    fragment = fragment.parentNode;
    fragment = fragment.appendChild(document.createElement('h2'));
    fragment.appendChild(document.createTextNode(dataToRender.subTitle));
    fragment = fragment.parentNode;
    return fragment;
}

有什么选择吗?

编辑:模板函数不应连接 HTML 字符串。它会降低速度。 JQuery 模板在内部使用字符串。所以 Resig 的微模板。

Edit2:我刚刚在 jsPerf 上做了一个基准测试.这是我在 JavaScript 中做的第一个基准测试,所以有些人检查了一下(我不确定它是否正确)。

最佳答案

检查 jquery 模板。 http://api.jquery.com/category/plugins/templates/

它让您创建带有“if”、“each”等关键字和未声明变量的 html 片段。然后,您可以使用一些值对来自 JavaScript 的片段调用“tmpl”,并返回一个 DOM 元素。

关于javascript - 任何返回 DOM 片段的 JavaScript 模板库/系统/引擎/技术?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7571918/

相关文章:

c++ - 永恒赋值运算符调用循环C++模板类

javascript - 如何将 JSON 数据添加到 HTML 表格

javascript - JQuery .load() 没有添加到 DOM?

javascript - 如何使用守卫nestjs进行e2e

javascript - 我正在尝试在 javascript 中验证没有警报功能的文本字段,但它不起作用

c++ - 如何在 C++ 中将模板与枚举相结合?

c++ - std::array 的演绎指南

swift - 如何在 swift 中使用 GDataXML 或类似 DOM 解析器的东西?

javascript - Ember-Data 并将数据拉入存储

javascript - 在 $.Deferred.done() 中调用很快