模板 – 在Jade视图中使用javascript代码 – if(变量)显示undefined而不是传递

前端之家收集整理的这篇文章主要介绍了模板 – 在Jade视图中使用javascript代码 – if(变量)显示undefined而不是传递前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以这是一个反复出现的问题,并没有在SO上找到另一个例子,所以这里是:

渲染Jade模板时,即使在模板中使用-if(variableName),我也会得到’variableName’未定义.

示例(我将其用作“信息”flash消息的部分内容):

  1. -if(info)
  2. - if(info.length){
  3. ul
  4. -info.forEach(function(info){
  5. li= info
  6. -})
  7. -}

如果没有flash / info消息,则返回’info’未定义,而不是不呈现任何内容.有谁知道我做错了什么?

我知道所提到的typeof(变量)!=’undefined选项.如果我想做类似-if(typeof(req.session.user)!=’undefined’)的事情,我将不得不做3嵌套`if(typeof(req)!=’undefined’.这是我唯一的选择吗?

解决方法

尝试if(typeof info!==“undefined”).

我不太确定,但我认为他们使用将变量注入到视图的范围内.

  1. with({}) {
  2. if (foo) {
  3. console.log("foo"); // fails foo is not defined.
  4. }
  5. }
  6.  
  7. with({}) {
  8. if (typeof foo !== "undefined") {
  9. console.log("foo"); // no error
  10. }
  11. }

猜你在找的Node.js相关文章