百度JS模板引擎 baiduTemplate

不打扰是莪最后的温柔 提交于 2019-12-01 16:49:57
百度JS模板引擎 baiduTemplate | Sunny Day盒子
文章目录

百度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;
};
%>
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!