概述
本人有些时候就是有强迫症,最近编写一个纯html的前端,使用 doT.js 模版框架,发现可以自定义模版标签,于是自己修改了一下标签格式,终于不用忍受双大括号 {{}} 了,自定义标签直接使用 {} 单双括号,当前项目是纯静态单页,没有和其他语言混淆,不怕冲突,就满足自己一下下吧!
自定义配置:
evaluate:
/{{([sS]+?(}?)+)}}/g,
interpolate:
/{$([sS]+?)}/g,
encode:
/{!([sS]+?)}/g,
use:
/{#([sS]+?)}/g,
useParams:
/(^|[^w$])def(?:.|[['"])([w$.]+)(?:['"]])?s*:s*([w$.]+|"[^"]+"|'[^']+'|{[^}]+})/g,
define:
/{##s*([w.$]+)s*(:|=)([sS]+?)#}/g,
defineParams:
/^s*([w$]+):([sS]+)/,
conditional:
/{/?(if|el)(seif|se)?s*([sS]*?)s*}/g,
iterate:
/{/?eachs*(?:}|([sS]+?)s*(?::s*([w$]+))?s*(?::s*([w$]+))?s*})/g,
varname:
"data",
strip:
true,
append:
true,
selfcontained:
false,
doNotSkipEncoded:
false
1、对象值输出
<span>{$v.name}</span>
2、判断语句
{if data.gender=='m'}
先生
{elseif data.gender=='w'}
女士
{else}
保密
{/if}
3、循环
{each data.users}
<span>{$v.name}</span>
{/each}
指定 value 和 key 变量值
{each data.users:value:key}
<span>{$key}:{$value.name}</span>
{/each}
4、模版嵌套
{##def.showGender:
{if v.gender=='m'}
先生
{elseif v.gender=='w'}
女士
{else}
保密
{/if}
#}
<form class="userlist">
<ul>
{each it.users}
<li>
{$v.name} / {#def.showGender}
</li>
{/each}
</ul>
</form>
这样写是不是清爽多了!
最后
以上就是淡淡纸飞机为你收集整理的doT.js 模板引擎 自定义标签格式的全部内容,希望文章能够帮你解决doT.js 模板引擎 自定义标签格式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复