js模板引擎,哪个好
js模板引擎
模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。
js模板引擎包括如下:
template
官方参考:http://aui.github.io/artTemplate
BaiduTemplate
官方参考:http://baidufe.github.io/BaiduTemplate
juicer
官方参考:http://juicer.name
doT
官方参考:http://olado.github.io/doT
kissy
官方参考:http://docs.kissyui.com和https://github.com/kissyteam/kissy
mustache
官方参考:https://github.com/janl/mustache.js
等等
具体关于模板引擎的使用方法,请参考官网实例。
现在用template和juicer作为demo展示
1、template的例子
<script id="listtemp" type="text/html"> <% if(data.length > 0) { %> <div>总共<%= total_count %>个数</div> <div> <% for(var i = 0; i < data.length; i++) { %> <div> <%= i + 1 %>、 <a href="http://www.baidu.com/s?wd=<%= data[i].user_id %>"><%= data[i].user_name %></a> <div><%= data[i].comment_content %></div> <% if(data[i].average_grade > 3) { %> <div><%= data[i].average_grade %></div> <% } %> </div> <% } %> </div> <% } else { %> <div>暂无数据</div> <% } %> </script>
<script type="text/javascript"> var data ={ total_count:"175", data: [{"user_name":"飞天盗","average_grade":"2.0","comment_id":"97180","comment_grade":"1","comment_content":"很好","user_id":"8488867","reply_content":"","up_num":"1","user_avatar":""},{"user_name":"大丰董先生","average_grade":"5.0","comment_id":"97049","comment_grade":"1","comment_content":"质量及做工都非常好,很满意!","user_id":"39541412","reply_content":"","up_num":"1","user_avatar":""}] }; var html = template.render('listtemp',data); document.getElementById('content').innerHTML = html; </script>
2、juicer例子
<script id="listtemp" type="text/template"> {@if !!data.length} <div>总共${total_count}个数</div> <div> {@each data as obj,index} <div> <a href="http://www.baidu.com/s?wd=${obj.user_id}">${obj.user_name}</a> <div>${obj.comment_content}</div> {@if obj.average_grade > 3} <div>${obj.average_grade}</div> {@/if} </div> {@/each} </div> {@else} <div>暂无数据</div> {@/if} </script>
<script type="text/javascript"> var data ={ total_count:"175", data: [{"user_name":"飞天盗","average_grade":"2.0","comment_id":"97180","comment_grade":"1","comment_content":"很好","user_id":"8488867","reply_content":"","up_num":"1","user_avatar":""},{"user_name":"大丰董先生","average_grade":"5.0","comment_id":"97049","comment_grade":"1","comment_content":"质量及做工都非常好,很满意!","user_id":"39541412","reply_content":"","up_num":"1","user_avatar":""}] }; var listhtml = document.getElementById('listtemp').innerHTML; var html = juicer(listhtml,data); document.getElementById('content').innerHTML = html; </script>
//数据源 var data ={total_count:"175",data: [{"user_name":"飞天盗","average_grade":"2.0","comment_id":"97180","comment_grade":"1","comment_content":"很好","user_id":"8488867","reply_content":"","up_num":"1","user_avatar":""},{"user_name":"大丰董先生","average_grade":"5.0","comment_id":"97049","comment_grade":"1","comment_content":"质量及做工都非常好,很满意!","user_id":"39541412","reply_content":"","up_num":"1","user_avatar":""}]};
感兴趣的朋友,可以把其他的js模板引擎实例写在回复中,并说说那个模板引擎好。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现