【问题标题】:Why if/else for retrieved mongodb data is not working in Jade view为什么检索到的 mongodb 数据的 if/else 在 Jade 视图中不起作用
【发布时间】:2014-02-10 11:04:15
【问题描述】:

在我的 Jade 视图中,我有“原始”,其中包含检索到的 mongodb 数据,这些数据我已通过 res.render('jadeview',{raw:mongodbdata}) 传递给我的翡翠视图

 body
.container
  h1 View Requests Page
  table
   tbody
    tr
     th ID
     th Request's
     th Description
     th Current Status            
    - if(raw.length)
        each item in raw
          tr
            td 
             a(href='/individualrequest/#{item._id}', id="idanch") #{item._id}
            td 
             a(href='/individualrequest/#{item._id}', id="rqstanch") #{item.request}
            td
             a(href='/individualrequest/#{item._id}', id="descanch") #{item.description}
            td 
            -if( #{item.approval} === 'true')
                    p Approved
             else
                  p Rejected

但是对于最后一个 td,我将检索到的 "raw" 值之一与 if else 语句进行比较,我收到错误为 "500 Unexpected character '#'" ,我试过没有#{item.approval相反,我比较了 'true' === 'true',然后它工作正常,我在 Jade 视图页面中获得了输出,但是为什么它不采用 #{item.approval},如果我只给出 td #{item.approval},我得到了价值,但不是 if/else,请帮我解决这个问题

【问题讨论】:

  • 我认为应该只是- if(item.approval === 'true'),因为在那个阶段你不插入item.approval,事实上如果它是正确的boolean你应该做- if(item.approval)

标签: javascript node.js mongodb express pug


【解决方案1】:
- if(item.approval)

应该可以工作,无需将其转换为字符串,然后与另一个字符串进行比较

【讨论】:

    猜你喜欢
    • 2014-03-25
    • 2018-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-05
    • 1970-01-01
    • 2016-07-24
    相关资源
    最近更新 更多