CNode

express中向view传值的几种方式

分享
Hhollenzhao发布于9 年前最后回复9 年前3 回复3295 浏览0 收藏

在express中可以通过locals属性向view中传值,比如设置一个sitename属性,有几种方式:

  1. app.locals.xxx = ''; 通常用来设置全局公共属性和方法,例如网站域名
  2. 在middleware中设置res.locals.sitename = 'CNode'; 通常用来设置和请求相关的属性和方法,例如判断请求是否来自移动端的isMobile
  3. 在返回视图前设置res.render('index',{sitename:'CNode'}; 通常用来设置具体业务数据,例如帖子列表数据 这三种方式最终会合并后传给视图引擎。 合并时,同名的属性或方法会被覆盖,经测试优先级是: 3>2>1

刚接触express,可能理解的不够全面,还请大家补充。

查看回复

回复 (3)

D
DevinXian#1·9 年前

感觉没问题吧,有段日子没接触 express 了

A
alsotang#2·9 年前
D
DevinXian#3·9 年前
引用 alsotang@DevinXian 现在都是koa吗?

@alsotang koa 随着 Node 版本升级,越来越热的意思吧... 新项目用 koa 的比较多了

参与回复
登录后即可参与回复。登录