如何在Jade中有条件地显示不同的UI?

时间:2014-03-18 09:29:04

标签: node.js express pug

我有以下模板:

扩展布局

block content
  #wrapper
    #logo
      a(href='/')
        p #{title}
    #msg
      | hi #{user}
    #display
      #register
        ----A registration form here----
      #login
        ----A login form here-----

    include footer

如果用户通过POST打开此页面,我会使用令牌来决定他是否以这样的方式登录:

exports.home = function(req, res) {
    // if user is not logged in, show both login and register forms
    if (typeof req.session.username == 'undefined') {
      res.render('home', { title: 'Online Coding Judge'});
    }
    // if user is logged in already, just say hi to him
    else {
      // what here???
    }
};

如何在页面上显示不同的内容,具体取决于他是否登录?

编辑:一个更现实的例子是,如果在同一个用户界面中登录失败,我将需要有条件地显示错误消息,以显示错误消息。

1 个答案:

答案 0 :(得分:1)

这样的事情应该有效:

编辑:修订:

block content
  #wrapper
    #logo
      a(href='/')
        p #{title}
    if {user}
      #msg
        | hi #{user}
      #display
        #register
          ----A registration form here----
        #login
          ----A login form here----- 
    else 
       --- some other logic ---

    include footer