node.js向ejs模板发送数据的两种方式

e.js中向ejs模板发送数据有以下两种方法:

方法一、 javascript res.render('viewName',{name1:'value1', name2:'value2',...}); 语法: javascript res.render(view, [locals], callback); 说明:     view:为模板文件名     locals:为模板中所有变量的key-value的JSON数据     callback:为回调函数 弊端:此方法在给模板赋值时,必须一次性将模板里的所有变量都传值,否则会报错。 方法二、     1) javascript res.locals({title:'首页'}); res.locals({showMessage:'欢迎来到首页'}); res.render('index');     2) javascript res.locals.title = '首页'; res.locals.showMessage = '欢迎来到首页'; res.render('index'); 此方法中的两种方式都可以。 优点:     不用一次性给模板里的所有变量都传值,可以分步传值,类似于PHP与smarty模板结合的方式。虽然可以分步传值,但是在渲染模板(res.render)之前,也必须给所有变量都传值,否则也会报错。这是和PHP与smarty模板结合的最大不同之处。 补充说明,一个解决:     上面提到,在给模板传值时,必须要将模板里的所有变量都传值,否则会报错。经过则才的试验,发现在ejs模板文件里,可以利用判断来解决此问题,示例代码如下: javascript <% if (locals.title) { %> <%= locals.title %> <% } %> 当title有传值时,便会显示;没传值时,也不会报错了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏mySoul

Java入坑指南

最重要的api文档 https://docs.oracle.com/javase/10/docs/api/overview-summary.html

892
来自专栏云计算教程系列

如何使用Grep

Grep是一个命令行实用程序,可以使用常见的正则表达式语法搜索和过滤文本。它无处不在,动词“to grep”已经成为“搜索”的同义词。它grep是一个有用的工具...

1003
来自专栏Java帮帮-微信公众号-技术文章全总结

hibernate延迟加载详解

hibernate延迟加载详解 Hibernae 的延迟加载是一个非常常用的技术,实体的集合属性默认会被延迟加载,实体所关联的实体默认也会被延迟加载。hiber...

3033
来自专栏java一日一条

从根源上解析 Java volatile 关键字的实现

也就是说,如果一个变量在多个CPU中都存在缓存(一般在多线程编程时才会出现),那么就可能存在缓存不一致的问题。

711
来自专栏java一日一条

Java编程常见问题汇总2

这里有一个前提,就是文件大小不能讲JVM的heap撑爆。否则就等着OOM吧,尤其是在高并发的服务器端代码。最好的做法是采用Stream的方式边读取边存储(本地文...

861
来自专栏L宝宝聊IT

Shell脚本应用(shell脚本基础与shell变量)

1414
来自专栏逢魔安全实验室

铁人三项2018 pwn [heapmain] Writeup

这个题目的原题是RHME3,直接拿来二进制修改,去掉网络函数,使用socat部署。这波操作可还行

982
来自专栏IMWeb前端团队

Nodejs基础:路径处理模块path总结

模块概览 在nodejs中,path是个使用频率很高,但却让人又爱又恨的模块。部分因为文档说的不够清晰,部分因为接口的平台差异性。 将path的接口按照用途归类...

2125
来自专栏java思维导图

Java并发编程之volatile关键字解析

文章来源:http://www.cnblogs.com/dolphin0520/p/3920373.html

762
来自专栏北京马哥教育

20 分钟 Shell 入门深度教程

作者:aron1992 来源:https://my.oschina.net/FEEDFACF/blog/1789695 0. 背景 之前写了系列的shell实...

5946

扫码关注云+社区