Node.js表达和EJS将对象传递给模板

时间:2015-07-13 15:03:41

标签: javascript node.js express ejs

我正在将对象传递给我的模板,并希望在html中显示对象详细信息。

app.get('/', function (req, res) {
    var user = req.session.passport.user;

    if ( user != 'undefined' ){
        res.render('pages/chat.ejs', {
            user_data: user // get the user out of session and pass to template
        });
    } else {
        res.render('pages/chat.ejs', {
            user_data: false
        });
    }
});

和我的网页/ chat.ejs:

<% if (!user_data) { %>
            <div class="buttons pull-right clearfix">
                <span data-action="chatLogin" class="pull-right bordered button_blue button">Log in</span>
            </div>
            <% } else { %>
            <div class="buttons pull-right clearfix">
                <span data-action="addChatMessage" class="pull-right bordered button_red button">SEND</span>
                <span class="pull-right bordered button_blue button" id="user_name_details">
                    <% user_data.user_display_name %>
                </span>
            </div>
            <% } %>

<% user_data.user_display_name %>中没有任何内容,那么如何在模板中显示对象详细信息?

1 个答案:

答案 0 :(得分:1)

使用&lt;% = user_data.user_display_name%&gt;

&lt; %%&gt;用于标记控制流..它不输出任何数据

&lt;%=%&gt;用于在模板

中输出封闭变量的数据

&lt;% - %&gt;用于在模板中输出变量的非转义值,以便像<&lt;和&gt;不要被HTML解析器吃掉。