【问题标题】:(not) passing a local variables to Jade templates in Express (node.js)(不)将局部变量传递给 Express(node.js)中的 Jade 模板
【发布时间】:2011-08-29 22:12:10
【问题描述】:

这是我的场景:我有一个 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)”的结果将只是“假”。

有解决这个问题的机会吗?

【问题讨论】:

标签: node.js express pug


【解决方案1】:

if (typeof loginError !== "undefined")

这允许您检查不存在的变量。

正如@GeoffChappel 所说,我已经adressed this earlier

我确实改变了他们如何处理注入局部变量的想法。我认为他们使用适当的解析器或动态创建新函数。

【讨论】:

    猜你喜欢
    • 2012-09-01
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多