2013-10-28 55 views
0

當我點擊我的註冊頁面時,我的玉模板(使用Twitter Bootstrap)產生一個空的錯誤div(即一個紅色,不透明的盒子,有一個關閉鏈接並且沒有錯誤),儘管錯誤對象將typeof返回爲'undefined'。我用this post來檢查錯誤的值。代碼如下:儘管未定義錯誤,Jade模板呈現錯誤div對象

控制器:

/** 
* Show sign up form 
*/ 
exports.signup = function(req, res) { 
    res.render('users/signup', { 
    title: 'Sign up', 
    user: new User() 
    }); 
}; 

玉模板:

extends ../layouts/default 

block content 
    .row 
    //-.offset1.span5 
    .span6 
     a(href="/auth/facebook") 
     img(src="/img/icons/facebook.png") 
     //- a(href="/auth/github") 
     //- img(src="/img/icons/github.png") 
     a(href="/auth/twitter") 
     img(src="/img/icons/twitter.png") 
     a(href="/auth/google") 
     img(src="/img/icons/google.png") 
    .span6 
     if (typeof errors != 'undefined') // The following alert shouldn't be rendered 
     .fade.in.alert.alert-block.alert-error 
      a.close(data-dismiss="alert", href="javascript:void(0)") x 
      ul 
      each error in errors 
       //- li= error.param 
       li= error.msg 

     block auth 

我試過以下,但每次都得到相同的結果:

if (typeof errors != 'undefined') 
if (typeof errors !== 'undefined') 
if (typeof errors != undefined) 
if (typeof errors !== undefined) 
if (null != errors) 
if (null !== errors) 

回答

0

編輯:從你在評論中說,errors不是undefined時,沒有錯誤;相反,它是一個空的數組。現在這個答案檢查了。

這將有助於看到這方面的工作的地方,但它可能是改變你的玉代碼,這將解決這個問題:

- if (errors.length > 0) {// The following alert shouldn't be rendered 
    .fade.in.alert.alert-block.alert-error 
     a.close(data-dismiss="alert", href="javascript:void(0)") x 
     ul 
     each error in errors 
      //- li= error.param 
      li= error.msg 
    - } 
+0

謝謝,@Evan,但沒有骰子。在-s和{}中包裝塊會產生相同的結果。 – CrankNPlank

+0

你在那裏放了一個' - console.log(errors)'來看看Jade認爲錯誤是在那個時刻嗎? – Evan

+0

是的,所有返回的都是空括號[]。 – CrankNPlank

相關問題