从Handlebars中的模板访问Object属性

时间:2016-03-09 07:21:14

标签: javascript templates handlebars.js helper

根据文档和此链接Stackoverflow link,我应该能够访问我的对象的属性,但它可以执行工作。这是我的代码剪辑。

把手助手

var person ={
    name : "test"
};

Handlebars.registerHelper('getperson', function() {
    console.log(person.name);
    return person;

模板

<h1>{{ getperson }} </h1>

在这个星座中,我得到渲染: [object Object]

但我想显示人名&#34;测试&#34;

{{#with getperson}}
    <h1< {{name}} </h1>
{{/with}}

这个剪辑对我没用。 : - (

1 个答案:

答案 0 :(得分:0)

我心中有些错误:

首先使用这种结构,这样人就可以命名:

var context = { "person" : { name : "test" , id : "id" } }; 

第二次使用此模板:帮助程序将使用您结构中的人员:

<div class="data-container">
{{#getperson person}}
{{/getperson}}
</div>

第三,你的助手现在可以使用你传递的参数:

  Handlebars.registerHelper('getperson', function(data, options) {
    var out = "<h1>" + data.name + "</h1><br/><h2>"  + data.id  + "</h2>"; 
    console.log(out);
    return out;
  });

您可以在此处找到完整的工作示例:

https://jsfiddle.net/ChristopheThiry/eorkkrts/

编辑:更新以匹配具有多个数据字段的新要求的小提琴。