有没有办法做这样的事情:
var html,
templ = '<p>{{config.title}}</p>',
data = {config: {title: 'some text'}};
html = Mustache.to_html(templ, data);
alert(html);
使用Mustache 库?或者也许与其他一些图书馆。
有没有办法做这样的事情:
var html,
templ = '<p>{{config.title}}</p>',
data = {config: {title: 'some text'}};
html = Mustache.to_html(templ, data);
alert(html);
使用Mustache 库?或者也许与其他一些图书馆。
使用小胡子上下文:
var html,
templ = '<p>{{#config}}{{title}}{{/config}}</p>',
data = {config: {title: 'some text'}};
html = Mustache.to_html(templ, data);
alert(html);
->'<p>some text</p>'
https://github.com/janl/mustache.js 用法
一个如何使用 mustache.js 的简单示例:
var view = {
title: "Joe",
calc: function() {
return 2 + 4;
}
}
var template = "{{title}} spends {{calc}}";
var html = Mustache.to_html(template, view);
模板是一个带有小胡子标签的简单字符串,视图是一个 JavaScript 对象,其中包含数据和用于呈现模板的任何代码。
安装小胡子使用 underscore.js:
_.templateSettings = { interpolate : /\{\{(.+?)\}\}/g };
var templateStructure = 'Hello {{ name }}!';
var template = _.template(templateStructure);
alert(template(yourObject));
请注意:您放入模板中的数据未转义。
还有一种想法:
如果您的 templateStructure 包含 'null' 您将收到错误消息。要使其工作,请执行以下操作:
var templateStructure = 'Hello {{ name }}! Did You know that "null" will provide an error?';
templateStructure.replace(/null/g, 'NULL_REPLACEMENT');
var template = _.template(templateStructure);
var out = template(yourObject);
out = template.replace(/NULL_REPLACEMENT/g, 'null');
alert(out);