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 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

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

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

531
来自专栏java一日一条

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

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Jav...

623
来自专栏余林丰

虚拟机类加载机制(2)——类加载器

《深入理解Java虚拟机》一书中将类的加载过程放到了类加载器前面一节,但在这里我想先讲“类加载器”。在上一篇类加载时机中我们用大量篇幅来讲解了类加载过程中的5个...

2036
来自专栏hbbliyong

你真的了解如何将 Nginx 配置为Web服务器吗

阅读之前,建议先阅读初识 Nginx。 之后,我们来了解一下 Nginx 配置。 抽象来说,将 Nginx 配置为 Web 服务器就是定义处理哪些 URLS 和...

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

hibernate延迟加载详解

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

2973
来自专栏IMWeb前端团队

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

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

1935
来自专栏java一日一条

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

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

462
来自专栏java思维导图

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

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

672
来自专栏C/C++基础

模板与分离编译模式

一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件连接起来形成单一的可执行文件的过程成为分离编译模式。

752
来自专栏mySoul

Java入坑指南

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

702

扫码关注云+社区