如何在JADE模板中使用JSON变量作为逻辑?

时间:2012-12-27 05:39:24

标签: javascript json node.js backbone.js pug

Sooooo,我有这个JADE模板:

//views/user.jade

div
-if ( typeof(user) !== undefined ) {
    span <%= id %>
-else {
    span nothing to see here
-}

这就是页面的呈现方式以及我如何传递用户&#39;逻辑中的变量

//routes/user.js

exports.user = function(req, res){
    res.render('pages/user', {
        user: req.user
    });
};

&#39;&lt;%= id%&gt;&#39;通过.JSON文件传入并呈现与用户&#39;无关的ID号。变量。我想使用&#39;&lt;%= id%&gt;&#39;的价值在我的逻辑中如此:

-if ( ( typeof(user) !== undefined ) && ( user.id === <%= id %> ) ) {

这当然会导致页面中断,以及我希望成为一名体面的软件工程师。我在这做错了什么?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

所以让我猜一下:

  • 通过“传递JSON文件”,您的意思是以JSON格式在HTTP请求正文中发送。

如果猜测正确,您需要做一些事情:

  1. 确保您有app.use(express.bodyParser());解析JSON请求正文并使req.body可用
  2. 将值传递给模板
  3. res.render('pages/user', {
        id: req.body.id,
        user: req.user
    });
    

    然后只引用id作为直接的本地javascript变量

    -if ( ( typeof(user) !== undefined ) && ( user.id === id ) ) {