摘要:創(chuàng)建一個(gè)展示數(shù)據(jù)的容器導(dǎo)入類庫導(dǎo)入相關(guān)定義的模板注意修改雙大括號(hào)為三大括號(hào)關(guān)閉轉(zhuǎn)義此處為模板代碼注釋課程時(shí)長(zhǎng)分鐘以下使用內(nèi)建的輔助方法來循環(huán)獲取課程目錄注意在塊表達(dá)式中當(dāng)前的層次是屬性對(duì)應(yīng)這層
< script> Handlebars.registerHelper("generateContent", function(jsondata) { //以下組裝頁面需要展示的HTML內(nèi)容 var content = " " + jsondata.title + "
" + "" + jsondata.author + "
" + "" + jsondata.intro + ""; return content; }); Handlebars.registerHelper("listTutorials",function(items, options) { var out = " < ul>"; for(var i=0;i" + options.fn(items[i]) + ""; //注意這個(gè)options有個(gè)屬性fn,可以用來直接調(diào)用模板 } return out + ""; }); $(function(){ var jsondata = { "title":"handlebars使用入門", "author": "gbtags.com", "intro": "基礎(chǔ)JS模板引擎handlebars的初學(xué)者指南", "type": "雙大括號(hào)會(huì)自動(dòng)轉(zhuǎn)義HTML代碼,而三括號(hào)則不轉(zhuǎn)義HTML", //下面定義一個(gè)新的數(shù)組屬性tutorials "tutorials":[ {"title": "第一節(jié):handlebar基礎(chǔ)","duration":"5"}, {"title": "第二節(jié):handlebar 表達(dá)式","duration":"3"}, {"title": "第三節(jié):handlebar 輔助方法","duration":"1"}, {"title": "第四節(jié):handlebar 內(nèi)建輔助方法","duration":"6"} ], "author": { "firstname": "terry", "lastname": "li" }, tutoriallist: [ {title:"Handlebars介紹",duration: 5}, {title:"Handlebars基礎(chǔ)",duration: 3}, {title:"Handlebars內(nèi)建塊表達(dá)式",duration: 2}, {title:"Handlebars實(shí)際案例",duration: 8} ] }; // 獲取模板中定義的HTML結(jié)構(gòu) var source = $("#tutorial-template").html(); // 編譯HTML生成對(duì)應(yīng)的JS模板 var template = Handlebars.compile(source); // 使用JS模板處理需要顯示的JSON數(shù)據(jù), 生成對(duì)應(yīng)的HTML內(nèi)容 var html = template(jsondata); // 添加生成的HTML內(nèi)容到對(duì)應(yīng)頁面元素中 $("#tutorial").html(html); }); /* *總結(jié): *可以看到使用handlebars來生成對(duì)應(yīng)頁面內(nèi)容,只需要定義一個(gè)HTML模板 *通過handlebar來獲取HTML模板并且編譯成JS模板,最后處理數(shù)據(jù)成為頁面內(nèi)容 *模板維護(hù)更新非常簡(jiǎn)單,并且代碼清楚易于閱讀,非常適合開發(fā)復(fù)雜邏輯的頁面 */
via :gbtags
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/87597.html
摘要:兼容語法,在大多數(shù)情況下它可以讀取的語法并在你當(dāng)前模板中使用。不要直接把它放在中否則的解析會(huì)改變模板內(nèi)容。的路徑支持簡(jiǎn)單的路徑,就像也支持嵌套的屬性,比如對(duì)象的屬性模板工作的對(duì)象這使得使用模板處理字符串成為可能。這種行為是新的,支持。 介紹 Handlebars 讓你能夠有能力高效地容易地創(chuàng)立語義化的模版。Handlebars兼容Mustache語法,在大多數(shù)情況下它可以讀取Musta...
摘要:兼容語法,在大多數(shù)情況下它可以讀取的語法并在你當(dāng)前模板中使用。不要直接把它放在中否則的解析會(huì)改變模板內(nèi)容。的路徑支持簡(jiǎn)單的路徑,就像也支持嵌套的屬性,比如對(duì)象的屬性模板工作的對(duì)象這使得使用模板處理字符串成為可能。這種行為是新的,支持。 介紹 Handlebars 讓你能夠有能力高效地容易地創(chuàng)立語義化的模版。Handlebars兼容Mustache語法,在大多數(shù)情況下它可以讀取Musta...
摘要:基于,可以在中導(dǎo)入模板。利用對(duì)象函數(shù)替換對(duì)象或者運(yùn)行函數(shù)支持點(diǎn)語法可以對(duì)象等屬性值使用時(shí),直接標(biāo)簽引入文件。模塊會(huì)自動(dòng)匹配相應(yīng)的數(shù)值,對(duì)象或者是函數(shù)。也可以單獨(dú)建立一個(gè)模板,或者可以用來唯一確定一個(gè)模板,是固定寫法,不可或缺。 前言:常用的末班引擎有很多,但寫法都大同小異。handlebars.js就是一個(gè)純JS庫,因此你可以向其他腳本一樣用script包起來。調(diào)用內(nèi)部封裝好的功能。 ...
摘要:簡(jiǎn)單來說,模板最本質(zhì)的作用是變靜為動(dòng),一切利于這方面的都是優(yōu)勢(shì),不利于的都是劣勢(shì)。二選擇的原因全球最受歡迎的模板引擎是全球使用率最高的模板引擎,所以當(dāng)之無愧是全球最受歡迎的模板引擎。創(chuàng)建更為復(fù)雜一些,當(dāng)時(shí)功能更加強(qiáng)大。 showImg(https://segmentfault.com/img/bVbb3kg?w=775&h=216); 為什么需要使用模板引擎? 關(guān)于為什么要使用模板引擎...
摘要:靜態(tài)模板文件的內(nèi)容,如模板等,多為字符串,如果直接部署上線,則需要在線上實(shí)時(shí)編譯,引入的模板引擎也需要包含編譯的部分。如果部署時(shí)之前先進(jìn)行模板預(yù)編譯,則模板文件內(nèi)容為一個(gè)預(yù)編譯后生成的模板函數(shù)。使用進(jìn)行預(yù)編譯,有幾種方式。 靜態(tài)模板文件的內(nèi)容,如 Handlebars模板等,多為字符串,如果直接部署上線,則需要在線上實(shí)時(shí)編譯,引入的模板引擎也需要包含編譯的部分。 如果部署時(shí)之前先進(jìn)行...
閱讀 3907·2021-11-22 13:54
閱讀 2680·2021-09-30 09:48
閱讀 2363·2021-09-28 09:36
閱讀 3118·2021-09-22 15:26
閱讀 1346·2019-08-30 15:55
閱讀 2513·2019-08-30 15:54
閱讀 1427·2019-08-30 14:17
閱讀 2345·2019-08-28 18:25