我是靠谱客的博主 淡淡纸飞机,最近开发中收集的这篇文章主要介绍doT.js 模板引擎 自定义标签格式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本人有些时候就是有强迫症,最近编写一个纯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 模板引擎 自定义标签格式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部