无法使用车把帮助程序呈现 json 详细信息

Unable to render json details using handlebar helper

本文关键字:json 详细信息 帮助程序      更新时间:2023-09-26

我正在尝试将对象字符串化为 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) 显示在 li 中,而不是整个对象显示为字符串。

要应用模板,您需要将结果实际传递给 Handlebars 处理器。 使用对象回调函数的参数(选项)执行此操作(非字符串化):

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

小提琴

JSON.stringify()执行它的名字,它接受一个JSON对象并将其序列化为字符串。车把使用对象,而不是字符串。

这应该这样做:

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