node.js开发笔记之EXPRESS与EJS之ejs标签v20140329
本次记录下ejs的渲染标签
node既然是javascrip的,那么很多在前端执行代码的方式都可以放在后台从而达到无缝连接!
比如
var ygxx = function(){
document.getElementById("xm").innerHTML = '姓名:'+jyh.XM+'('+jyh.DS+')';
document.getElementById("sszd").innerHTML = '所属站点:'+jyh.SSZD;
document.getElementById("zw").innerHTML = '职务:'+jyh.ZW;
document.getElementById("lspgbh").innerHTML = '编号:'+bh.PGBH;
};
这个代码在以往,我的处理方式就是把HTML页面里生成一个 var jyh = {};的对象 载入页面之后自动渲染
有了node就不需要这样了,完全可以在后台做
当然这里主要配合express和ejs
网上收入的ejs标签介绍:
ejs 的标签系统非常简单,它只有以下3种标签。
1 |
<% code %>:JavaScript 代码。 |
2 |
<%= code %>:显示替换过 HTML 特殊字符的内容。 |
3 |
<%- code %>:显示原始 HTML 内容。 |
注意: <%= code %>
和 <%- code %>
的区别,当变量 code 为字符串时,两者没有区别;当 code 为比如<h1>hello</h1>
时,<%= code %>
会原样输出 <h1>hello</h1>
,而 <%- code %>
则会输出H1大的 hello。
EJS 的官方示例:
The Data
1 |
{ title: 'Cleaning Supplies' , |
2 |
supplies: [ 'mop' , 'broom' , 'duster' ] } |
The Template
1 |
<ul> |
2 |
<% for (var i= 0 ; i<supplies.length; i++) {%> |
3 |
<li><%= supplies[i] %></li> |
4 |
<% } %> |
5 |
</ul> |
The Result
- mop
- broom
- duster
我们可以用上述三种方式实现页面模板系统能实现的任何内容。
由此可以得出一个信息,ejs允许后台定义一个对象,然后前台模版用标签来实现调用对象
比如:
该文件为express的路由文件
exports.index = function(req, res){
res.render('index', {
code:{"GH":"1101","XM":"带头大哥","DS":"329","SSZD":"中国站","ZW":"管理员"}
});
};
后台定义一个对象,然后
前台模版
var ygxx = function(){
alert('AAA');
document.getElementById("xm").innerHTML = '姓名:<%= code.XM %>(<%= code.GH %>)';
document.getElementById("sszd").innerHTML = '所属站点:<%= code.SSZD %>';
document.getElementById("zw").innerHTML = '职务:<%= code.ZW %>';
};
如此这般就可以实现对象的调用,实际现实效果就是
姓名:带头大哥(1101)
所属站点:中国站
职务:管理员
另外还需要一个方式比如
前台有对象
var json = {}; 为了动态加入标签
var json = <%= code %>;
这里如果后台
exports.index = function(req, res){
res.render('index', {
code:'{"GH":"1101","XM":"带头大哥","DS":"329","SSZD":"中国站","ZW":"管理员"}'
});
};
后台渲染字符串,用<%= >标签会报乱码!!
应该用-号
var json = <%- code %>;
这样就可以了!
最新文章
- Javascript 事件对象(六)键盘事件
- NTP服务器引起的上行带宽超大
- coursera 公开课 文本挖掘和分析(text mining and analytics) week 1 笔记
- linux怎么模糊查找一个文件
- linux ldconfig
- app.config中的connectionstring
- SPRING IN ACTION 第4版笔记-第十章Hitting the database with spring and jdbc-004-使用NamedParameterJdbcTemplate
- RHEL7-使用Apache服务部署静态网站
- POJ 1173 Find them, Catch them
- javascript+dom 做javascript图片库
- Android反编译APK
- Octave Tutorial(《Machine Learning》)之第二课《数据移动》
- python 排序之sort
- node.js—File System(文件系统模块)
- webpack 学习总结demo
- Flume的Channel
- RabbitMQ install (Ubuntu)
- ssh 使用 aws
- iOS-自定义NavigationItem返回按钮【pop返回按钮】
- django之创建第7-3个项目-在站点blog下单独创建urls.py文件
热门文章
- [Python学习] 简单爬取CSDN下载资源信息
- ios开发网络学习二:URL转码以及字典转模型框架MJExtension的使用
- js进阶正则表达式修饰符(i、g、m)(var reg2=/html/gi)
- js javascript正则
- zookeeper无法启动&;quot;Unable to load database on disk&;quot;
- [React] Understand React.Children Utilities
- C++省略号类型和参数个数不确定函数参数范例
- TensorFlow中卷积
- 学习JS的这些日子——十二月总结
- html5常用标签table表格布局