这是我的场景:我有一个 login.jade 模板,我在其中对用户进行身份验证。在该模板中,我有一些类似的条件:
- if (badLogin)
div#loginErr
| <strong>Please try again</strong> |
| The password or username you entered is incorrect.
- if (loginError)
div#loginErr
| <strong>Please try again later</strong> |
| Our authentication service isn't available at the moment.
在 Express 中,我总是必须声明所有可能在该 Jade 模板中使用的局部变量。否则我会得到:
loginError is not defined
我的观点是,如果在 Jade 模板中我会有 10 个包含局部变量的“if”语句,那么在渲染时我将不得不始终传递这 10 个变量,即使在特定情况下我只使用一个也是如此。
我只是想,如果我不将任何变量传递给 Jade 模板,“if(var)”的结果将只是“false”。
是否有机会解决这个问题?
最佳答案
if (typeof loginError !== "undefined")
这允许您检查不存在的变量。
如@GeoffChappel 所述,我已经 adressed this earlier
不过,我确实改变了他们如何处理注入(inject)局部变量的想法。我认为他们使用适当的解析器或动态创建新函数。
关于node.js - (不)将局部变量传递给 Express (node.js) 中的 Jade 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6076769/