jquery.tmpl的使用
有程式設計基礎的朋友們都應該知道一個MVC這個概念,在前端的程式設計中,我們常常需要動態獲取資料,將資料在前臺展示出來。展示時,html的拼接成了一個十分令人苦惱的問題。如果能在前端中也有類似MVC概念的應用,將資料與html標籤進行分離,將大大減少我們的工作量,提高工作效率,同時也提高我們程式碼的可維護性。近期在前端學習中發現jquery中一個很方便的外掛:tmpl。下載地址:https://github.com/BorisMoore/jquery-tmpl/blob/master/jquery.tmpl.js。應用時必須引入1.4以上版本的jquery。
一、Tmpl中的幾種常用tag
1、${key} 與 {{= key}}
作用相同,表示取值,輸出變數(=和變數之間一定要有空格,否則無效)${}裡面還可以放表示式
如${key +/- n}
2、{{if}}, {{else}}
{{if Status}}
<span>Status${Status}</span>
{{else App}}//注意else的時候不是else if
<span>App${App}</span>
{{else}}
<span>None</span>
{{/if}}
3、{{each}}
提供迴圈邏輯,$value訪問迭代變數 也可以自定義迭代變數(i,value)
4、{{html}}
取出html程式碼,用法{{html html}},可理解為html格式的變數
5、{{tmpl}} and{{wrap}}.
二、tmpl中的基本用法
<!DOCTYPE html> <html> <head> <script src="js/jquery-2.0.3.js"></script> <script src="js/jquery.tmpl.js"></script><!-- https://github.com/BorisMoore/jquery-tmpl/blob/master/jquery.tmpl.js --> </head> <body> <ul id="list"></ul> <script type="text/template" id='UserTmpl'> <li> <span>${ID}</span> <span>{{= NickName}}</span> <span>${Age+1}</span> <!--判斷,等同於jq中的if else,不同之處在於,要寫end if--> {{if Gender}} <span>男</span> {{else}} <span>女</span> {{/if}} <!--迴圈,類似jq中的each,對於陣列中的每個值套入模板進行操作,value類似於this此處採用$value迭代變數,--> <ul> {{each major}} <li>採用$value迭代變數 ${$value.name}</li> {{/each}} </ul> <!--迴圈,通過自定義迭代變數(i,value) --> <ul> {{each(i,la) major}} <li>自定義迭代變數:${i+1}:{{= la.name}}</li> {{/each}} </ul> <!--取出html程式碼,此處將呈現一個按鈕--> {{html ht}} </li> </script> <!--定義模板,根據需求在所需處取資料中的值--> <script type="text/javascript"> var users=[ {ID:"0001",NickName:"小白",Gender:false,Age:18, major:[{name: "語文"},{name: "數學"}], ht: "<button>確認</button>"}, {ID:"0002",NickName:"小黑",Gender:true,Age:20, major:[{name: "英語"},{name: "生物"}]} ]; /*定義資料,資料一般是陣列或json型別的*/ $("#list").append($("#UserTmpl").tmpl(users)); /*("模板script標籤的id").tmpl(資料,陣列形式),返回將資料套入模板後的html*/ </script> </body> </html>
三、$data $item
(以下例子來自於http://www.2cto.com/kf/201401/271190.html)
$item代表當前的模板;$data代表當前的資料。
<divid="div_item_data"></div>
<scriptid="item_data" type="text/x-jquery-tmpl">
<divstyle="margin-bottom:10px;">
<span>${$data.ID}</span><!--$data代表當前的資料 -->
<spanstyle="margin-left:10px;">${$item.getName("")}</span><!--$item代表當前的模板-->
</div>
</script>
<scripttype="text/javascript">
var users = [{ ID: 'think8848', Name:['Joseph', 'Chan'] }, { ID: 'aCloud', Name: ['Mary', 'Cheung']}];
$("#item_data").tmpl(users,
{
getName: function (spr) {
return this.data.Name.join(spr);
}
}).appendTo('#div_item_data');
</script>
以上是本人找到的參考資料,主要參考於
http://www.cnblogs.com/Sunlimi/p/4378646.html
http://www.2cto.com/kf/201401/271190.html
相關推薦
jquery.tmpl的使用
有程式設計基礎的朋友們都應該知道一個MVC這個概念,在前端的程式設計中,我們常常需要動態獲取資料,將資料在前臺展示出來。展示時,html的拼接成了一個十分令人苦惱的問題。如果能在前端中也有類似MVC概念的應用,將資料與html標籤進行分離,將大大減少我們的工作量
jquery tmpl模板
之前用模板渲染都是用angular,無意間發現了jquery tmpl這種輕量級,其文件在這裡 官方解釋對該外掛的說明:將匹配的第一個元素作為模板,render指定的資料,簽名如下: .tmpl([data,][options]) 其中引數data的用途很明顯:用於re
jquery tmpl.js與 juicer渲染對比
最近開發專案中使用的是jquery.tmpl.js,剛開始覺得其語法看著順眼就用了,可是後來發現其渲染速度不快,所以想換一種新的模板引擎。 在網上看了其他 的一些開源模板引擎,比如說Mustache,ArtTemplate...但是覺得其語法與asp.net 開發中有些衝
tmpl 模板化引擎載入資料 Jquery
@{ ViewBag.Title = "GetCartList"; } @section HeaderScripts{ <script src="~/Scripts/jquery-1.1
jquery 獲取 outerHtml
原生 獲取 內置 方法 屬性 pos jquery att ont 在開發過程中,jQuery.html() 是獲取當前節點下的html代碼,並不包括當前節點本身的代碼,然後我們有時候確須要。找遍jQuery api文檔也沒有不論什麽方法能夠拿到。 看到有的人通過pa
jquery 操作 select 默認選擇第一個元素
tar easy eset 思路 blog reset function 標簽 數組元素 問題:點擊按鈕設置select元素的默認選項。 首先,有個環境,並引入jquery。 <!DOCTYPE html> <html> <h
jquery 深入學習筆記之中的一個 (事件綁定)
color 動態 name his pan mouseover this pre con 【jquery 事件綁定】 1、加入元素事件綁定 (1) 加入事件為當前元素 $(‘p‘).on(‘click‘,function(){ //code here ..
jquery的AJAX中各個事件執行順序
.ajax star ajaxstop jquery ajax let start 執行 .com jquery的AJAX中各個事件執行順序如下: 1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) 4.success 5.aja
分針網——IT教育:jquery選擇器的用法
jQuery選擇器是jQuery庫的一大特色,用這些選擇器不但可以省去繁瑣的JavaScript 書寫方式,還可以節省時間和效率,正是有這些jQuery選擇器,才讓我們更容易的操作JavaScript的dom。 1. 基本選擇器 ·#id 根據
jQuery選擇器絕對定位實現div覆蓋
rip jquer 絕對定位 button min 覆蓋 str fun 選擇 新建html文件可以運行(jsp文件下不可運行) <!DOCTYPE html><html> <head> <meta charse
JQuery操作Ajax
urn oba ade response 當前頁 xmlhttp 另一個 orm 可選 今天就來說說jquery對於ajax的支持,jquery封裝了XMLHttpRequest的底層實現,直接調用提供的方法即可 1.$.ajax(options) 這個方法是jquery對
jQuery滑動解鎖
寬度 .com ccf blog add href 參數 插件 itl unlock.js是一款jQuery滑動解鎖插件。目前很多網站在用戶登錄和註冊時,為防止惡意攻擊,采用來滑動解鎖的驗證方式。用戶需要滑動指定的滑塊到指定位置,才能通過驗證。unlock.js可以實現這
Java程序猿的JavaScript學習筆記(12——jQuery-擴展選擇器)
type write number article mat 我們 content ace val 計劃按例如以下順序完畢這篇筆記: Java程序猿的JavaScript學習筆記(1——理念) Java程序猿的JavaScript學習筆記(2——屬性復制和繼承) Jav
jquery在ajax新加入的元素後綁定事件click
path pen con art yii 例如 () click bsp 使用YII在做一個點擊小圖。能夠在彈出窗體中顯示大圖的功能的時候,發現。GridView首頁面的列表項按點擊時一切正常,但按下了下一頁後。 再點擊小圖,就不起作用了。原來,這是GridView
jQuery Chosen 使用
技術 arc css https http master 賦值 arch dex 1. jQuery Chosen 選擇框下拉值重置; //重置 $("#easySelBrands").val("默認值").trigger("chosen:updated"
jquery實現全選/反選功能
click demo lar sim llc res rip rop 個數 <!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/h
JQuery中內容操作函數、validation表單校驗
調用方法 scrip 註意 語言 rul asc javascrip 最前面插入 獲取 JQuery:內容體拼接(可以直接拼接元素節點和內容節點) JQuery實現: 方案1:A.append(B); == B.appendTo(A);A的後面拼接B
分針網——每日分享: jquery選擇器的用法
提交 -c sce fse edi scrip 偶數 http n) jQuery選擇器是jQuery庫的一大特色,用這些選擇器不但可以省去繁瑣的JavaScript 書寫方式,還可以節省時間和效率,正是有這些jQuery選擇器,才讓我們更容易的操作JavaScript的
Jquery使容器自適應瀏覽器窗口
cti -s meta 方法 jquer charset mar utf-8 ava 一、幾個關鍵點 1:當文檔大小改變時可以通過哪個事件來觸發? resize([Data], fn) 可傳入data供函數fn處理。 示
jQuery選擇器引擎和Sizzle介紹
document 遞歸 展示 學院 extra 上下文 和源 err sizzle p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #323333 } p.p2 { margin: 0.0