2011-05-20 92 views
4

這是我的場景:我有一個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」。

任何工作的機會?

+3

請參閱:http://stackoverflow.com/questions/5748087/using-javascript-code-in-jade-views-ifvariable-shows-undefined-instead-of-pas – 2011-05-20 19:56:51

回答

4

if (typeof loginError !== "undefined")

這允許你檢查不存在的變量。通過@GeoffChappel提到

正如我已經adressed this earlier

我改變我的應該怎麼處理,雖然注射局部變量的頭腦。我認爲他們使用適當的解析器或動態創建新的功能。

相關問題