(不)将局部变量传递给Express中的Jade模板(node.js)
问题描述:
这是我的场景:我有一个login.jade模板,用于对用户进行身份验证。内部的模板,我有几个,如果像:(不)将局部变量传递给Express中的Jade模板(node.js)
- 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.
在表达我总是要声明可能在翡翠模板中使用的所有局部变量。否则,我得到:
loginError is not defined
我的观点是,如果在玉模板我将有10个“如果”包含一个局部变量发言,而不是在渲染时我不得不总是通过这10个变量,即使我只用一个在这种特殊情况下。
我只是认为,如果我没有将任何变量传递给Jade模板,那么“if(var)”的结果就是“false”。
任何工作的机会?
答
if (typeof loginError !== "undefined")
这允许你检查不存在的变量。通过@GeoffChappel提到
我改变我的应该怎么处理,虽然注射局部变量的头脑。我认为他们使用适当的解析器或动态创建新的功能。
请参阅:http://stackoverflow.com/questions/5748087/using-javascript-code-in-jade-views-ifvariable-shows-undefined-instead-of-pas – 2011-05-20 19:56:51