文章目录
百度JS模板引擎 baiduTemplate
1.功能
提供一套模板语法,用户可以写一个模板区块,每次根据传入的数据,
生成对应数据产生的HTML片段,渲染不同的效果。
2.特性
1、语法简单,学习成本极低,开发效率提升很大,性价比较高(使用Jav 大专栏 百度JS模板引擎 baiduTemplateascript原生语法);
2、默认HTML转义(防XSS攻击),并且支持包括URL转义等多种转义;
3、变量未定义自动输出为空,防止页面错乱;
4、功能强大,如分隔符可自定等多种功能;
3.举例
//直接复制即可使用,记得要下载baiduTemplate.js
<!-- 引入baiduTemplate --> <script type="text/javascript" src="./baiduTemplate.js"></script>
<!-- 模板1开始,可以使用script(type设置为text/html)来存放模板片段,并且用id标示 --> <script id="t:_1234-abcd-1" type="text/html"> <div> <!-- 我是注释,语法均为Javascript原生语法,默认分割符为 <% %> ,也可以自定义,参见API部分 --> <!-- 输出变量语句,输出title --> <h1>title:<%=title%></h1>
调用方式与数据定义:
<!-- 数据的定义和模板调用 --> <script type="text/javascript"> var data={ "title":'欢迎使用baiduTemplate', "list":[ 'test1:默认支持HTML转义,如输出<script>,也可以关掉,语法<:=value> 详见API', 'test2:', 'test3:', 'test4:list[5]未定义,模板系统会输出空' ] }; //使用baidu.template命名空间 var bt=baidu.template; //可以设置分隔符 //bt.LEFT_DELIMITER='<!'; //bt.RIGHT_DELIMITER='!>'; //可以设置输出变量是否自动HTML转义 //bt.ESCAPE = false; //最简使用方法 var html=bt('t:_1234-abcd-1',data); //渲染 document.getElementById('result').innerHTML=html; </script>
调用方法二:
var fun = baidu.template(tpl); //或直接传入id即可 var fun = baidu.template('test1'); //之后通过改变数据,调用缓存下来的函数,产生不同的HTML片段 var html1 = fun(data1); var html2 = fun(data2);
4、模板基本语法(默认分隔符为<% %>,也可以自定义)
分隔符内语句为js语法,如:
<% var test = function(){ //函数体 }; if(1){}else{}; function testFun(){ return; }; %>