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