国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

關于handelbars.js模板引擎

2024-04-27 15:10:35
字體:
來源:轉載
供稿:網友
1.基于Mustache,可以在handelbars中導入Mustache模板利用{{ 對象 函數 }} 替換對象或者運行函數支持.點語法 可以對象.title等屬性值2.使用時,直接script標簽引入handlebars.js文件。<scripttype="text/javascript"src="script/jquery.js"></script>2<scripttype="text/Javascript"src="script/handlebars-1.0.0.beta.6.js"></script>3.js 中使用handelbars.compile()預編譯模板 ://用jquery獲取模板vartpl = $("#tpl").html();//原生方法varsource =document.getElementById('#tpl').innerHTML;//預編譯模板vartemplate = Handlebars.compile(source);//模擬json數據varcontext = {name:"zhaoshuai",content:"learn Handlebars"};//匹配json內容varhtml = template(context);//輸入模板$(body).html(html);4.blocks表達式表達式的后面跟一個# 表示blocks{{ /表達式 }} 結束blocks(如果當前表達式是 數組則handelbars會展開數組。并將blocks的上下文設為數組元素)比如:<ul>{{#PRogramme}}<li>{{language}}</li>{{/programme}}</ul>對應json數據:{programme: [{language: "JavaScript"},{language: "HTML"},{language: "CSS"}]}渲染后:<ul><li>JavaScript</li><li>HTML</li><li>CSS</li></ul>5. Handelbars內置表達式(Block helper)each:利用{{#each name}}來遍歷列表快內容,用this來引用遍歷的元素,指數組里的每一個元素。 name 是數組。<ul>{{#each name}}<li>{{this}}</li>{{/each}}</ul>對應json是: {name: ["html","css","javascript"]};編譯后:<ul><li>JavaScript</li><li>HTML</li><li>CSS</li></ul>if else 指定條件渲染dom;如果 {{ #if list }},即if后的參數存在, 則渲染{{ #else }}后面的語句;否則將不會渲染都dom,將執行{{ else }}后的error語句;{{#iflist}}<ul id="list">{{#eachlist}}<li>{{this}}</li>{{/each}}</ul>{{else}}<p>{{error}}</p>{{/if}}對應的json:vardata = {info:['HTML5','CSS3',"WebGL"],"error":"數據取出錯誤"}unless{{ #unless }}反向的一個if語句;unless后的參數 不存在 為false時,渲染dom;{{#unless data}}<ulid="list">{{#each list}}<li>{{this}}</li>{{/each}}</ul>{{else}}<p>{{error}}</p>{{/unless}}with {{#with}}一般情況下,Handlebars模板會在編譯的階段的時候進行context傳遞和 賦值。使用with的方法,我們可以將context轉移到數據的一個section里面(如果你的數據包含section)。 這個方法在操作復雜的template時候非常有用。<divclass="entry"><h1>{{title}}</h1>{{#withauthor}}<h2>By {{firstName}} {{lastName}}</h2>{{/with}}</div>對應json數據:{title:"My first post!",author: {firstName:"Charles",lastName:"Jolley"}}6. handlebar的注釋(comments)寫法:{{! handlebars comments }}7. handlebar的訪問(path)可以通過 . 語法訪問子屬性;也可以通過 ../ 來訪問父級屬性。h1>{{author.id}}</h1>{{#withperson}}<h1>{{../company.name}}</h1>{{/with}}8. 自定義helper用Handlebars.registerHelper ( )方法來注冊一個helper9. handelbars的jquery插件(function($) {varcompiled = {};$.fn.handlebars=function(template,data){if(templateinstanceofjQuery) {template = $(template).html();}compiled[template] = Handlebars.compile(template);this.html(compiled[template](data));};})(jQuery);$('#content').handlebars($('#template'),{name:"Alan"});
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 连州市| 徐汇区| 和林格尔县| 昔阳县| 旌德县| 河曲县| 鄂托克前旗| 汾阳市| 伊宁县| 惠安县| 石景山区| 囊谦县| 公主岭市| 石渠县| 太保市| 东光县| 马鞍山市| 安塞县| 聂荣县| 丹凤县| 东丰县| 翁牛特旗| 崇明县| 合作市| 永春县| 沅陵县| 鄂州市| 修文县| 庆阳市| 栾城县| 宁河县| 南投县| 朝阳县| 通化县| 南涧| 都匀市| 崇明县| 米泉市| 鄂伦春自治旗| 双江| 唐河县|