doT js 模板引擎_jstemplate模板引擎

boyanx4个月前技术教程11

js中拼接html,总是感觉不够优雅,本着要优雅不要污,决定尝试js模板引擎。

JavaScript 模板引擎

JavaScript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注。

常见模板引擎

为什么选择doT:

doT.js 快速,小巧且毫无依赖,源js文件只有140行。下载地址 github。

兼容性、性能对比详情见,各种JS模板引擎对比数据(高性能JavaScript模板引擎),我就不在copy过来了。

开始

1、安装

github下载doT.js,使用页面引用即可。

2、使用

这里就不写基本的使用了,直接上项目中的代码,html部分

<ul class="kucunlist" id="ulList"> 
    <script id="j-tmpl" type="text/template">
        {{ if(it.length>0){ }}    
 {{ for (var i = 0, l = it.length; i < l; i++) {}}
 <li class="border-tb tbox" onclick="location.href='<%=basePath%>/query/stock/toQueryProductStock.action?piNo={{=it[i].pi_no}}'">
 <div>
 <img src="<%=imgServerPath %>{{=it[i].pi_imgpath}}">
 </div>
 
 <div class="arrow-right">
 <h5 class="ellipsis-t"><i>{{=it[i].pi_no}}</i>{{=it[i].pi_name}}</h5>
 <p>{{=it[i].ct_name}} {{=it[i].bd_name}}</p>
 <p><b>价格:¥{{=it[i].pi_retailprice}}</b> | <b>库存:{{=it[i].amount}}</b></p>
 </div>
 </li>
 {{ } }}
        {{ } else { }}
 <li class="border-tb tbox"> 
 <h2>未检索到数据</h2>
 </li>
        {{ } }}
    </script>
</ul> 

js部分,data为json数据。

var tmpl = document.getElementById('j-tmpl').innerHTML;
document.getElementById('ulList').innerHTML=doT.template(tmpl)(data);

效果

在这个网页输入你的模板、数据可以看到执行结果。

刚开始使用无法给出更多有用的建议,凡事都是双刃剑,也许后面会有坑,但是它给我带来的更好的维护性、可读性。

140行的源码,有需求满足不了或者遇到源码无法解决的问题,可以把源码消化消化,对其进行扩展。

结语:好东西还是要勇敢尝试,已经开始在项目中使用doT,后面会有更复杂的使用环境,会持续对doT在项目中的使用、问题、解决,进行记录。

分享是一种精神,学习仍需坚持,进步仍需努力。

标签: dot.js

相关文章

图解javascript this指向什么?_js函数中this指向

JavaScript 是一种脚本语言,支持函数式编程、闭包、基于原型的继承等高级功能。JavaScript一开始看起来感觉会很容易入门,但是随着使用的深入,你会发现JavaScript其实很难掌握,有...

前端播客周刊 #009 - Cloudflare 阻止

本期看点:Cloudflare 宣布阻止 AI 爬虫,Web Components 2025 年现状,中年程序员的迷你退休,极致原生 Web 性能与 AI 工具盘点,Nuxt 被 Vercel 收购...

SpringBoot 与 HTMX:现代 Web 开发的高效组合

在当今的 Web 开发领域,前后端分离已成为主流趋势。传统的全栈框架往往需要复杂的模板引擎来处理视图逻辑,而前端框架如 React、Vue 等虽然强大,但也带来了学习曲线陡峭、构建复杂等问题。本文将介...

几个可视化工具_几个可视化工具是什么

几个可视化工具可视化 Docker Compose 文件下一个工具专门针对 Docker 用户,但它仍然与语言无关。要可视化docker-compose.yml,您可以使用docker-compose...

从中招到妥协——Locky电脑勒索病毒 中毒记录

作者:jelly仔 大家好,我是Jelly仔,这次我要晒的是一种电脑病毒——Locky,这应该算是 #全站首晒# 吧。一、背景3月1日的晚上,我实习下班回到宿舍,浏览了一会张大妈上的原创,正准备打开E...

三维Mesh网格的体积计算算法及JS代码

计算Mesh网格的体积是一个相对简单和众所周知的问题。在这个教程中我们将介绍计算Mesh网格对象体积的一般思路、数学依据,给出JavaScript实现代码,并对大量重复对象的体积计算给出优化算法。1、...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。