付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5-Node.js视图引擎2015
Summer,
xi'an本章内容视图引擎简介客户端视图引擎KendoUI、Handlebars.js、AngularJS服务器端视图引擎Jade视图引擎视图引擎视图引擎(模板引擎)是创建视图的框架/库使用编程语言Web视图引擎是HTML和JavaScript的混合给定的模板/视图,JavaScript创建了有效的HTML代码JavaScript视图引擎有大量的JavaScript视图引擎,能分离到客户端和服务器端客户端:KendoUI,Handlebars.js,jQuery,AngularJS,
等服务器端:Jade,
HAML,
EJS,
Vash,
等为什么使用视图引擎?提高开发者的效率,并简化HTML代码编写自动创建DOM元素,几乎不用手动的DOM客户端视图引擎KendoUI,
AngularJS,
Handlebars.js客户端视图引擎客户端视图引擎(模板)用于解析数据数据从一些地方获取如,用AJAX数据也可以是JSON、XML或纯文本服务器端视图引擎解析服务器上的数据客户端(浏览器)接收到准备使用的HTML模板用Handlebars.jsHandlebars.js是创建客户端模板的库Handlebars支持:单次值绑定到JavaScript对象元素集合的迭代条件模板Handlebars:示例创建用所有mustache类型的列表Handlebars:示例创建用所有mustache类型的列表<h1>{{title}}</h1><ul
class="mustaches-list">{{#types}}<li><input
name="mustaches[]"id="mustache-{{.}}"type="radio"value="{{.}}"/><label
for="mustache-{{.}}">{{.}}</label></li>{{/types}}<-模板Handlebars:示例创建用所有mustache类型的列表<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:示例创建用所有mustache类型的列表所有绑定都在{{}}中完成<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中找到可单独使用KendoUI模板支持:单次值绑定到JavaScript对象元素集合的迭代条件模板KindoUI模板:示例创建技术表<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框架内核的一部分实际上为控制器表达视图AngularJS支持:双向数据和事件绑定到JS对象元素集合的迭代条件模板AngularJS模板:创建图像幻灯<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模板
演示服务器端视图引擎服务器端视图引擎服务器端视图引擎返回准备使用的HTML到客户端(浏览器)在服务器上解析数据为HTML*Web应用,通过服务器视图引擎创建的,并非真正的单页应用大多数情况下Jade模板引擎Jade是服务器视图引擎生产HTML为结果可被解析:手动的(使用CMD/命令行)自动的,使用任务运行器自动的,使用Express之类的框架Jade比HTML更有表现力和动态性Jade模板可被解析,基于JS模型或条件使用Jade安装Jade用Node.js创建index.jade文件运行创建index.html以内容:$
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特点:Tag省略开始和结束甚至是尖括号ID和class以CSS选择器设置#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特点:AttributeAttribute特性写成'('和')'用逗号','分隔<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特点演示Jade模型Jade能够创建markup标记,使用数据模型如,给定数组项,放置其到表格中#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中运行Jade可以包含条件、循环等HTML基于模型创建if
conditionh1.success|Fulfilled!elseh1.error|
Not
fullfilledmodel
={condition:true}model
={condition:f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025 高中信息技术数据与计算之 Python 的机器学习模型模型融合评估课件
- 2026年碳关税贸易合同责任界定条款设计与谈判要点
- 2026年反向抵押房产日常维护与防灾防损实务
- 2026年候选药剂型规格制剂处方与参照药一致性原则
- 2026年数据交易所会员合规审计管理办法
- 2026年康复医院外骨骼机器人科室建设指南
- 2026年第二代刀片电池闪充技术产业化应用
- 2026年造林碳汇项目方法学适用条件与开发实务
- 2026浙江温州瓯海区三垟街道社区卫生服务中心面向社会招聘工作人员1人备考题库【综合卷】附答案详解
- 2026天津铁路建设投资控股(集团)有限公司招聘1人备考题库及完整答案详解【全优】
- 2026黑龙江新高考:语文必背知识点归纳
- 金属非金属地下矿山人行梯子间设置细则
- 领导干部任前法律法规知识考试题库(2025年度)及答案
- 2025福建厦门航空有限公司招聘备考题库及答案详解(易错题)
- 村集体三资管理培训课件
- (正式版)DB61∕T 2115-2025 《中深层地热能开发钻完井技术规程》
- 年鉴编纂基本知识课件
- 2026年保安员证考试题库完整版
- 2026年四川单招语数英基础提升分层试卷含答案适配不同水平
- 仰卧起坐课件
- 2025考研中共党史党建学真题(浙江省委党校)
评论
0/150
提交评论