博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
记录-baidutemplate的JavaScript模版
阅读量:6619 次
发布时间:2019-06-25

本文共 1921 字,大约阅读时间需要 6 分钟。

记录一些今天适用baidutemplate.js模版。

具体项目参见:

先展示两个例子,然后说说对baidutemplate.js的理解,从而将这一工具加到个人百宝箱里。

实例一:

1.怎么定义模版?

下面是定义模版块代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script id=
"bd_t1" 
type=
"text/template"
>
<div>
    
<h1>title:<%=title%></h1>
    
<%
if
(list.length>1) { %>
        
<h2>list:<%=list.length%></h2>
        
<ul>
            
<%
for
(
var 
i=0;i<5;i++){%>
                
<li><%=list[i]%></li>
            
<%}%>
        
</ul>
    
<%}
else
{%>
        
<h2>list不存在</h2>
    
<%}%>
</div>
</script>

从上面代码可以看到JSP的影子,只是这些代码写到了Script块里面去了。很自然,模版少不了编号来标识,这里ID就是唯一标识模版。

2.怎么为模版添加数据(渲染)?

1
2
3
4
5
6
7
8
9
10
11
<!-- 使用模版 -->
    
<script type=
"text/javascript"
>
        
var 
data2 = {
            
"title" 
"先编译模版,然后填入数据"
,
            
"list" 
: [ 
"data1"
"data2"
"data3" 
]
        
};
        
var 
bt = baidu.template;
        
var 
fun = bt(
"bd_t1"
);
        
var 
html2 = fun(data2);
        
document.getElementById(
"bd_div_2"
).innerHTML = html2;
    
</script>

从上面代码看baidu.template(模版ID)编译模版,然后编译添加数据后会生成HTML,最后添加到要放置的位置。

3.效果图:

如上图数通过模版渲染到DOM中。

实例二:

一个简单完整代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html>
<head>
<title>test1.html</title>
<meta charset=
"utf-8"
>
<script type=
"text/javascript" 
src=
"baiduTemplate.js"
></script>
</head>
<body>
<script type=
"text/javascript"
>
    
var 
bt=baidu.template;
    
function 
show(){
        
var 
s=
"<h1>内容:<%=title%></h1>"
;
        
var 
fun=bt(s);
        
var 
data={
"title"
:
"this is a title"
};
        
var 
html=fun(data);
        
document.getElementById(
"bt_div_1"
).innerHTML=html;
    
}
</script>
<input type=
"button"  
value=
"查看"
/>
<div id=
"bt_div_1"
></div>
</body>
</html>

上面的模版作为string直接编译,然后添加数据进行渲染,这是另外一种方式。

总结:

1.数据来源可以通过Ajax获取JSON数据文件,或者服务器端返回JSON格式的数据通过JavaScript来操作。

2.模版可以在页面中定义,亦可以通过服务器端以字符串的类型返回。

3.模版的编写和JSP页面嵌套Java代码相似,当然<% xxx %> 分隔符可以自定义。

4.JSON对象来在页面通过模版的形式展现,使的Ajax获取JSON数据并且在DOM中渲染交付给浏览器客户端处理。

5.如实例一中要显示5个元素值,但是JSON中数据中只有3个,baidutemplate做了很好的处理用空字符串代替,而不是“undefined”这样的对象未定义。

6.baidutemplate模版代码200多好,轻巧,灵便,还有很多转义字符处理,HTML标签,URL处理等。

7.一个好用的JS工具,值得收藏并适时实地的使用。

本文转自 secondriver 51CTO博客,原文链接:http://blog.51cto.com/aiilive/1324984,如需转载请自行联系原作者

你可能感兴趣的文章
JS动画效果链接汇总
查看>>
陈云川的OPENLDAP系列
查看>>
P1197 [JSOI2008]星球大战
查看>>
XML转义字符
查看>>
mysql设置字符集CHARACTER SET
查看>>
Perl完全自学手册图文教程
查看>>
wordpress拿WebShell
查看>>
校园的早晨
查看>>
oracle取前几行|中间几行|后几行
查看>>
16.1 Tomcat介绍
查看>>
QuickBI助你成为分析师——数据源FAQ小结
查看>>
十周三次课
查看>>
2008 AD 复制有防火墙要开什么端口
查看>>
我的友情链接
查看>>
敏友的【敏捷个人】有感(11): 敏捷个人线下活动有感
查看>>
刺激用户危机意识,实现快速盈利的营销思维
查看>>
植物大战僵尸
查看>>
原创文章
查看>>
理解JavaScript私有作用域
查看>>
BZOJ 1012: [JSOI2008]最大数maxnumber【线段树单点更新求最值,单调队列,多解】
查看>>