美文网首页
Express模板中的传值对象app.locals和res.lo

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

作者: _李雷 | 来源:发表于2017-02-26 20:27 被阅读0次

    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>

    相关文章

      网友评论

          本文标题:Express模板中的传值对象app.locals和res.lo

          本文链接:https://www.haomeiwen.com/subject/gthawttx.html