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

相关文章

来自专栏Python小屋

使用with关键字让你的Python代码更加Pythonic

首先解释一下上一篇文章Python科学计算扩展库numpy中的广播运算中最后的小题目,该题目答案是一个元组(True, 5),原因在于Python中的等号=虽然...

3408
来自专栏zhisheng

Python爬虫入门四之Urllib库的高级用法

1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Hea...

33513
来自专栏Puppeteer学习

一步一步学Vue(八)

1242
来自专栏Java 源码分析

MyBatis笔记二:配置

可以看到我们使用 <properties resource="db.properties"/> 引入了我们的数据据库的配置文件,然后这个标签有两个属性 : r...

1512
来自专栏企鹅号快讯

NPM酷库:vm2,安全的沙箱环境

NPM酷库,每天两分钟,了解一个流行NPM库。 今天我们要了解的库是 vm2,这是一个Node.js 官方 vm 库的替代品,主要解决了安全问题。 不安全的vm...

2255
来自专栏蓝天

C/C++常见gcc编译链接错误解决方法

用“-Wl,-Bstatic”指定链接静态库,使用“-Wl,-Bdynamic”指定链接共享库,使用示例: -Wl,-Bstatic -lmysq...

1123
来自专栏debugeeker的专栏

《coredump问题原理探究》windows版6.1节无成员变量的类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

383
来自专栏向治洪

java的断言(assert)

概述 在C和C++语言中都有assert关键,表示断言。在Java中,同样也有assert关键字,表示断言,用法和含义都差不多。在Java中,assert关键字...

19110
来自专栏企鹅号快讯

Koa 框架教程

Node 主要用在开发 Web 应用。这决定了使用 Node,往往离不开 Web 应用框架。 ? Koa就是一种简单好用的 Web 框架。它的特点是优雅、简洁、...

2477
来自专栏大内老A

.NET Core采用的全新配置系统[5]: 聊聊默认支持的各种配置源[内存变量,环境变量和命令行参数]

较之传统通过App.config和Web.config这两个XML文件承载的配置系统,.NET Core采用的这个全新的配置模型的最大一个优势就是针对多种不同配...

1849

扫码关注云+社区