Express模板中的传值对象app.locals和res.locals

app.locals和res.locals是expess中用于渲染模板的两个对象.
locals可能存在于app对象中,即app.locals,也可能存在于res对象中,即res.locals。app.locals上通常挂载常量信息(如博客名,描述,作者信息),res.locals上通常挂载变量信息,即每次 请求的值可能不一样(如网站访问的用户名)。

locals对象

locals对象用于将数据传递至所渲染的模板中。
对于如下的ejs模板:

<p><%= name %></p>
<p><%= age %></p>
<p><%= sex %></p>

我们可以像下面这样渲染页面,并向页面传递name,age,sex三个变量的值:

router.get('/',function(req,res){
    res.render('index',{name:'A米',age:'1',sex:'男'});
    //也可以用res.locals变量
    //res.locals = {
    //   name:'A米',
    //    age:'1',
    //    sex:'男'
    // }
    //res.render('index');
});

渲染后的HTML页面为:

<p>A米</p>
<p>1</p>
<p>男</p>
locals对象会被传递至页面,在模板中可以直接引用该对象的属性,也可以通过该对象引用,如:<p><%=locals.name %></p>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值