2013-10-22 33 views
0

我想將對象串化爲json並將其傳遞給模板。但是相反,我將整個對象視爲一個字符串,而不僅僅是我想要的。無法使用手柄助手呈現json細節

代碼

Handlebars.registerHelper("GetFBUserDetails", function() { 

    var details = new Object({'fName' : firstName, 'lName' : lastName, 'pic' : pictureUrl}); 
    return JSON.stringify(details); 

}); 

<li>{{#GetFBUserDetails}} 
       {{fName}} 
    {{/GetFBUserDetails}} 
</li> 

我想只在裏顯示的姓名(FNAME)而不是整個對象顯示爲一個字符串。

回答

1

應用的模板,你需要實際結果傳遞到車把處理器。爲此,使用回調函數的參數(選項),對象(不是字符串化):

Handlebars.registerHelper("GetFBUserDetails", function(options) { 
    var details = new Object({'fName' : firstName, 'lName' : lastName, 'pic' : pictureUrl}); 
    return options.fn(details); 
}); 

Fiddle

+0

謝謝有用! – user1184100

1

JSON.stringify()做它的命名後,它需要一個JSON對象並將其序列化爲一個字符串。把手使用物體,而不是字符串。

這應做到:

Handlebars.registerHelper("GetFBUserDetails", function() { 
    return {'fName' : firstName, 'lName' : lastName, 'pic' : pictureUrl}; 
}); 
+0

試了一下檢查DOM,它顯示..

  • 的翻譯:
  • user1184100