4

これが私のシナリオです。ユーザーを認証する login.jade テンプレートがあります。そのテンプレート内には、次のような if がいくつかあります。

- 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」になるだけだと思いました。

これを回避する可能性はありますか?

4

1 に答える 1

4

if (typeof loginError !== "undefined")

これにより、存在しない変数をチェックできます。

@GeoffChappelで述べたように、私はすでにこれに対処しました

ただし、ローカル変数の注入をどのように処理するかについては考えが変わります。彼らは適切なパーサーを使用しているか、新しい関数を動的に作成していると思います。

于 2011-05-21T12:45:27.003 に答える