非常简单的Javascript模板
有人能告诉我一个提供基本HTML模板的库吗 也就是说,我所需要的是一个库,它可以将占位符转换为HTML中的文本值。例如,假设我有以下标记:非常简单的Javascript模板,javascript,templates,Javascript,Templates,有人能告诉我一个提供基本HTML模板的库吗 也就是说,我所需要的是一个库,它可以将占位符转换为HTML中的文本值。例如,假设我有以下标记: <!DOCTYPE html> <html> <head> <title>My Title</title> </head> <body> <label>My Label:</label>
<!DOCTYPE html>
<html>
<head>
<title>My Title</title>
</head>
<body>
<label>My Label:</label>
<div>
<label>Name:</label>
<input placeholder="Enter name..." />
</div>
</body>
</html>
我的头衔
我的标签:
姓名:
我想要的是在我的标记中标记一些占位符,理想情况下,在简化视图中,这些占位符指向一个javascript变量
<!DOCTYPE html>
<html>
<head>
<title>{{myApp.labels.title}}</title>
<script>
(function () {
window.myApp = {
labels: {
title: 'My Title',
label1: 'My Label',
name1: 'Name',
placeholder: 'Enter name'
}
};
}());
</script>
</head>
<body>
<label>{{myApps.labels.label1}}:</label>
<div>
<label>{{myApps.labels.name1}}:</label>
<input placeholder="{{myApps.labels.placeholder}}..." />
</div>
</body>
</html>
{{myApp.labels.title}
(功能(){
window.myApp={
标签:{
标题:“我的标题”,
标签1:‘我的标签’,
名称1:'名称',
占位符:“输入名称”
}
};
}());
{{myApps.label1}}
{{myApps.labels.name1}:
我看过handlebar.js和Mustache.js等库,但它们都是:
因此,有什么更简单的(如果我写的有意义的话)吗?非常感谢。您只需推出自己的:
function tmpl (markup, tmplvars, prefix) {
for(var key in tmplvars) {
if (tmplvars[key] instanceof Object)
markup = tmpl(markup, tmplvars[key], prefix ? (prefix + "." + key) : key);
else
markup = markup.replace(new RegExp("\{\{" + (prefix? (prefix + "." + key) : key) + "\}\}", "gi"), tmplvars[key]);
}
return markup;
}
并像这样使用它:
var MyTemplate = '<label>{{username.label}}<input placeholder="{{username.placeholder}}"/></label>';
var markup = tmpl(MyTemplate, {username:{label: "Username", placeholder: "Enter your username..."}});
var MyTemplate='{{username.label}}';
var markup=tmpl(MyTemplate,{username:{label:“username”,占位符:“输入您的用户名…”});
谢谢!我甚至没有意识到有一个名为tmpl的函数:)是的,这可能是因为没有这样的函数。它的定义在上面的片段中。哦,耶-哈!不知道我是怎么错过的:)但不管怎样,都很有用-谢谢。那么把它作为答案怎么样?;)