付費(fèi)下載
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
5-Node.js視圖引擎2015
Summer,
xi'an本章內(nèi)容視圖引擎簡(jiǎn)介客戶(hù)端視圖引擎KendoUI、Handlebars.js、AngularJS服務(wù)器端視圖引擎Jade視圖引擎視圖引擎視圖引擎(模板引擎)是創(chuàng)建視圖的框架/庫(kù)使用編程語(yǔ)言Web視圖引擎是HTML和JavaScript的混合給定的模板/視圖,JavaScript創(chuàng)建了有效的HTML代碼JavaScript視圖引擎有大量的JavaScript視圖引擎,能分離到客戶(hù)端和服務(wù)器端客戶(hù)端:KendoUI,Handlebars.js,jQuery,AngularJS,
等服務(wù)器端:Jade,
HAML,
EJS,
Vash,
等為什么使用視圖引擎?提高開(kāi)發(fā)者的效率,并簡(jiǎn)化HTML代碼編寫(xiě)自動(dòng)創(chuàng)建DOM元素,幾乎不用手動(dòng)的DOM客戶(hù)端視圖引擎KendoUI,
AngularJS,
Handlebars.js客戶(hù)端視圖引擎客戶(hù)端視圖引擎(模板)用于解析數(shù)據(jù)數(shù)據(jù)從一些地方獲取如,用AJAX數(shù)據(jù)也可以是JSON、XML或純文本服務(wù)器端視圖引擎解析服務(wù)器上的數(shù)據(jù)客戶(hù)端(瀏覽器)接收到準(zhǔn)備使用的HTML模板用Handlebars.jsHandlebars.js是創(chuàng)建客戶(hù)端模板的庫(kù)Handlebars支持:?jiǎn)未沃到壎ǖ絁avaScript對(duì)象元素集合的迭代條件模板Handlebars:示例創(chuàng)建用所有mustache類(lèi)型的列表Handlebars:示例創(chuàng)建用所有mustache類(lèi)型的列表<h1>{{title}}</h1><ul
class="mustaches-list">{{#types}}<li><input
name="mustaches[]"id="mustache-{{.}}"type="radio"value="{{.}}"/><label
for="mustache-{{.}}">{{.}}</label></li>{{/types}}<-模板Handlebars:示例創(chuàng)建用所有mustache類(lèi)型的列表<h1>{{title}}</h1><ul
class="mustaches-list">{{#types}}<li><input
name="mustaches[]"id="mustache-{{.}}"type="radio"value="{{.}}"/><label
for="mustache-{{.}}">{{.}}</label></li>{{/types}}<-模板JavaScript<-var
model
=
{title:
' o
mustache!',types:
['Hungarian',
'Dali','Imperial',
…]}Handlebars:示例創(chuàng)建用所有mustache類(lèi)型的列表所有綁定都在{{}}中完成<h1>{{title}}</h1><ul
class="mustaches-list">{{#types}}<li><input
name="mustaches[]"id="mustache-{{.}}"type="radio"value="{{.}}"/><label
for="mustache-{{.}}">{{.}}</label></li>{{/types}}<-模板JavaScript<-var
model
=
{title:
' o
mustache!',types:
['Hungarian',
'Dali','Imperial',
…]}Handlebars.js模板演示KendoUI模板KendoUI模板是KendoUI框架的一部分可在kendo.core.js中找到可單獨(dú)使用KendoUI模板支持:?jiǎn)未沃到壎ǖ絁avaScript對(duì)象元素集合的迭代條件模板KindoUI模板:示例創(chuàng)建技術(shù)表<h1>#:
title
#</h1><table>#
for
(var
i
=
0;
i
<
technologies.length;
i+=1)
{#<tr><td><inputtype='checkbox'
id="technology-#:
i
#"
/></td><td><label
for="technology-#:
i
#">#:
technologies[i].name
#</label></td></table>var
model
=
{title:
'Technologies',technologies:[{name:'ASP.NET',field:'web'
},{name:'Node.js',field:'web'
},{name:'WPF',field:'windows
desktop'
},{name:'Android',field:'mobile'
}]};KendoUI模板
演示AngularJS模板AngularJS模板是AngularJS框架內(nèi)核的一部分實(shí)際上為控制器表達(dá)視圖AngularJS支持:雙向數(shù)據(jù)和事件綁定到JS對(duì)象元素集合的迭代條件模板AngularJS模板:創(chuàng)建圖像幻燈<div
id="wrapper"ng-controller="ImagesController"><divclass="slider"><strong>{{currentImage.title}}</strong><img
ng-src
=
"{{currentImage.src}}"
width=800
/><ul
class="slider-images-list"><ling-repeat="image
in
images"><img
ng-src="{{image.src}}"ng-click="changeCurrent(image)"/></li></ul></div></div>app.controller('ImagesController',
function
($scope)
{$scope.images
=
[{title:
'QA
Academy
2012/2013Graduation',src:
'imgs/9511183282_cbe735bb73_c.jpg'}
…
]$scope.currentImage
=
$scope.images[0];$scope.changeCurrent
=
function(image){$scope.currentImage
=
image;};});AngularJS模板
演示服務(wù)器端視圖引擎服務(wù)器端視圖引擎服務(wù)器端視圖引擎返回準(zhǔn)備使用的HTML到客戶(hù)端(瀏覽器)在服務(wù)器上解析數(shù)據(jù)為HTML*Web應(yīng)用,通過(guò)服務(wù)器視圖引擎創(chuàng)建的,并非真正的單頁(yè)應(yīng)用大多數(shù)情況下Jade模板引擎Jade是服務(wù)器視圖引擎生產(chǎn)HTML為結(jié)果可被解析:手動(dòng)的(使用CMD/命令行)自動(dòng)的,使用任務(wù)運(yùn)行器自動(dòng)的,使用Express之類(lèi)的框架Jade比HTML更有表現(xiàn)力和動(dòng)態(tài)性Jade模板可被解析,基于JS模型或條件使用Jade安裝Jade用Node.js創(chuàng)建index.jade文件運(yùn)行創(chuàng)建index.html以?xún)?nèi)容:$
npm
install
jade
-guleach
val
in[1,
2,
3,
4,
5]li=
'Item
'
+
val$
jade
index.jade<ul><li>Item
1</li><li>Item
2</li><li>Item
3</li><li>Item
4</li><li>Item
5</li></ul>使用Jade
演示Jade特點(diǎn):Tag省略開(kāi)始和結(jié)束甚至是尖括號(hào)ID和class以CSS選擇器設(shè)置#id和.class<div
id="wrapper"><table
class="special"><tr><th>Header
1</th><th>Header
2</th></tr><tr><td>Data
1</td><td>Data
2</td></tr></table></div>#wrappertable.specialtrth
Header
1th
Header
2trtd
Data1td
Data2解析為Jade特點(diǎn):AttributeAttribute特性寫(xiě)成'('和')'用逗號(hào)','分隔<div
id="wrapper"><header><h1
id="logo"><ahref="..."><img
src="..."/></a></h1><nav
id="main-nav"><ul><li
class="nav-item"><a
href="...">...</a></li></ul></nav></header></div>#wrapperheaderh1#logoa(href='...')img(src='…')nav#main-nav:
ulli.nav-itema(href='…')解析為Jade特點(diǎn)演示Jade模型Jade能夠創(chuàng)建markup標(biāo)記,使用數(shù)據(jù)模型如,給定數(shù)組項(xiàng),放置其到表格中#wrapperheaderh1#logoa(href='...')=
titlenav#main-nav:
uleachiteminnavli.nav-itema(href=
item.url)=item.title<div
id="wrapper"><header><h1
id="logo"><a
href="...">Loremipsum</a></h1><nav
id="main-nav"><ul><li
class="nav-item"><a
href="#home">Home</a></li><li
class="nav-item"><a
href="#about">About</a></li></ul></nav></header></div>解析為Jade模型演示Jade中運(yùn)行Jade可以包含條件、循環(huán)等HTML基于模型創(chuàng)建if
conditionh1.success|Fulfilled!elseh1.error|
Not
fullfilledmodel
={condition:true}model
={condition:f
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年三峽大學(xué)輔導(dǎo)員招聘考試真題匯編附答案
- 信息安全管理員崗前時(shí)間管理考核試卷含答案
- 滑雪指導(dǎo)員持續(xù)改進(jìn)能力考核試卷含答案
- 電子競(jìng)技員崗前環(huán)保及安全考核試卷含答案
- 鑄軋工崗前核心技能考核試卷含答案
- 信號(hào)設(shè)備制造鉗工安全規(guī)程水平考核試卷含答案
- 高爐煉鐵操作工崗前理論評(píng)估考核試卷含答案
- 玻璃熔化工崗前技術(shù)改進(jìn)考核試卷含答案
- 2024年海西州選調(diào)公務(wù)員筆試真題匯編附答案
- 2025年建筑行業(yè)施工質(zhì)量檢驗(yàn)手冊(cè)
- 2026年及未來(lái)5年中國(guó)半導(dǎo)體熱電系統(tǒng)行業(yè)市場(chǎng)全景監(jiān)測(cè)及投資戰(zhàn)略咨詢(xún)報(bào)告
- 河南豫能控股股份有限公司及所管企業(yè)2026屆校園招聘127人筆試備考試題及答案解析
- 小學(xué)六年級(jí)英語(yǔ)2026年上學(xué)期語(yǔ)法填空綜合題集
- 海洋電子信息產(chǎn)業(yè)現(xiàn)狀與發(fā)展路徑研究
- 草原管護(hù)考試題及答案
- Unit 8 Let's Communicate!Section B 1a-1e 課件 2025-2026學(xué)年人教版八年級(jí)英語(yǔ)上冊(cè)
- 2026年四川單招職高語(yǔ)文基礎(chǔ)知識(shí)練習(xí)與考點(diǎn)分析含答案
- 2026年交管12123駕照學(xué)法減分題庫(kù)100道【基礎(chǔ)題】
- 寒假女生安全教育課件
- 2026年孝昌縣供水有限公司公開(kāi)招聘正式員工備考題庫(kù)及1套參考答案詳解
- 6.2 中位數(shù)與箱線(xiàn)圖 教學(xué)設(shè)計(jì)(2課時(shí))2025-2026學(xué)年數(shù)學(xué)北師大版八年級(jí)上冊(cè)
評(píng)論
0/150
提交評(píng)論