首页 > 其他分享 >给自己提个醒,渲染模版引擎handlebars已经足够好用了,不要再到处乱看浪费时间了。

给自己提个醒,渲染模版引擎handlebars已经足够好用了,不要再到处乱看浪费时间了。

时间:2022-09-22 00:11:25浏览次数:56  
标签:function listHelper return handlebars Handlebars 模版 field var 提个醒

<html>
<body onl oad="renderHello()">
<div id="target">Loading...</div>
<script id="template" type="x-tmpl-mustache">
Handlebars <b>{{doesWhat}}</b> <br>
{{loudHelper doesWhat}} <br>

{{{timeHelper time}}} <br>
{{time}} <br>

{{{listHelper names}}} <br>


{{#listHelper names}}
<b>{{firstName}}</b>
{{/listHelper}}



</script>


<br>
<br>

<script src="https://cdn.jsdelivr.net/npm/handlebars@latest/dist/handlebars.min.js"></script>
<script>

function toDateString(values,field){
if (!field || !values){
return "";
}
field = field.trim();
var value = values[field];
if (!value){
return "";
}
var d = new Date(value);
return d.toDateString();
}


var tableColumns = [
{
title:"xxNo",
cell:"Handlebars: <div data-click='emit:aaa:aaa' href='/sss/sdsds'>xxNo: {{xxNo}}</div><div>yyNo: {{yyNo}}</div><div>日期: {{{timeHelper time}}}</div>",
}
];

function renderHello() {
var template = document.getElementById('template').innerHTML;
var compiled = Handlebars.compile(template);

Handlebars.registerHelper('loudHelper', function (aString) {
return aString.toUpperCase()
})


Handlebars.registerHelper('timeHelper', function (t) {
return new Date(t).toDateString();
})


Handlebars.registerHelper("listHelper", function(items, options) {
const itemsAsHtml = items.map(item => {
let s = item;
if (typeof options.fn === "function"){
const s1 = options.fn(item).trim();
if (s1.length > 0){
s = s1;
}
}
return "<li>" + s + "</li>"
});
return "<ul>\n" + itemsAsHtml.join("\n") + "\n</ul>";
});

document.getElementById('target').innerHTML = compiled({
doesWhat: "rocks!",
time: Date.now(),
names: [
"bbb",
{firstName:'fff'}
]
});
}
</script>
</body>
</html>

标签:function,listHelper,return,handlebars,Handlebars,模版,field,var,提个醒
From: https://www.cnblogs.com/lhp2012/p/16717738.html

相关文章

  • Java安全之freemaker模版注入
    Java安全之freemaker模版注入freemaker简介FreeMarker是一款模板引擎:即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具......
  • 响应式模版移动优化
    本文重点介绍做SEO响应式模版移动优化:响应式模版是指只有一套模版,pc和手机端共用一套模版,模版可根据浏览窗口自适应,只有一个www的连接。 响应式模版优化需做以下几点:1......
  • xxxx-xx-xx系统应用(周)巡检报告模版
    ​xxxx-xx-xx系统应用(周)巡检报告模版1、巡检概述与总结系统名称巡检时间巡检人联系方式......
  • 关于devreport 使用报表模版.repx,数据源和模版文件关系
    随着用户需求不断增加,固定的report表内的字段.不能满足用户需求.于是要给用户加上报表的设计功能.这样在展示的时候更有灵活性,也不用每个改动都找程序人员不带设计......