jQuery插件-微软jQuery Templates

我们知道微软早已开始全面支持jQuery,并在MVC项目中默认添加了jQuery,这对我们广大Asp.net开发者带来了福音。目前,微软已经为jQuery开发了三款jQuery插件,分别为jQuery Glob、jQuery Templates和jQuery Data Linking。由于考虑到国内开发者很少使用第一者,我就不进行介绍了,有兴趣的可以Google一下。本篇先看下jQuery Templates:

jQuery Templates使开发者能方便的将javascript对象绑定到html中,而不需要我们一个文本框一个文本框机械的来绑定数据。jQuery Templates支持简单的语法,使我们能够得到想要的html结果,使用jQuery Templates方法如下:

首先,我们需要引用jQuery文件和jQuery.tmpl文件,如下:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 


<script src="jquery.tmpl.js" type="text/javascript"></script> 

使用jQuery Templates我们应将要显示的内容嵌入到<script type="text/html">标记中,我们以非常简单的一个例子来看看jQuery Templates的使用方法:

<div id="userinfo"></div> 


<script id="usertemplate" type="text/html"> 


<div class="userinfo"> 


    UserName:{{= name}} 


    Website:{{= website}} 


</div> 


</script> 

我们使用Template可以显示javascript对象或者javascript对象数组,下边是我们将要用来显示的javascript对象数组和jQuery方法:

var users = [ 


    { name: "朋友的你", website: "http://www.jquery001.com" }, 


    { name: "jQuery学习", website: "http://www.jquery001.com" } 


]; 


$(document).ready(function () { 


    $("#usertemplate") 


    .render(users) 


    .appendTo("#userinfo"); 


}); 

render()方法将数据转换为串,最后将数据追加到userinfo元素,页面加载后执行结果如下图所示:

jQuery插件-微软jQuery Templates

前边说过,jQuery Templates中可以使用简单的语法,这样我们可以根据需要来显示数据。比如在本例中,比如某人有多个网站,下边我们看看简单的if和each方法。javascript对象数组如下:

var users = [ 


    { name: "朋友的你", websites: ["jquery001.com", "google.com"] }, 


    { name: "jQuery学习", websites: ["jquery001.com"] }, 


    { name: "jQuery", websites: [] } 


]; 

下边显示了使用Template中的if、each方法,也没有过多可说的,我们使用者使用一两次也就记下了它的语法:

<div id="userinfo"></div> 


<script id="usertemplate" type="text/html"> 


<div class="userinfo"> 


    UserName:{{= name}} 


    {{if websites.length}} 


    Websites: 


    <ul> 


        {{each(i,website) websites}} 


        <li>{{= website}}</li> 


        {{/each}} 


    </ul> 


    {{/if}} 


</div> 


</script> 

下图显示了最后的结果,可能您已经预料到了。当然了本篇只是非常简单的介绍了下jQuery Templates的基本使用方法,希望对读者有所帮助。

相关推荐