在Handlebars中返回/显示整数JS模板?

时间:2012-10-15 15:50:59

标签: javascript templates handlebars.js

我需要使用Handlebars JS模板在我正在创建的应用中显示一些数据。因此,例如我的方法返回打开的票证数...现在显示此整数我将如何在模板中执行此操作?

在我的JS文件中,我尝试过这样的事情:

    this.switchTo('list', {
        count: this.count
    });

在哪里'列出'是我的模板,count是我的整数变量。如果它是JSON格式,我能够在模板中显示内容,但如果它只是一个整数,我真的不知道该怎么做...

无论如何,这是我用来显示JSON格式的字符串:

<ul class="ticket_list">
    {{#each tickets}}
        <li>
            {{this.subject}}
        </li>
    {{/each}}   
</ul

解决方案是创建一个格式化为JSON的字符串,然后将其发送到模板吗?

任何建议都会很棒,因为我非常坚持这个......

1 个答案:

答案 0 :(得分:0)

您发送到Handlebars模板的数据结构必须与模板的结构相匹配。所以,如果你有这个模板:

<ul class="ticket_list">
    {{#each tickets}}
        <li>
            {{this.subject}}
        </li>
    {{/each}}   
</ul>

然后您的数据需要如下所示:

// #each implies an array
tickets: [
    { subject: ... }, // this.subject implies that you have an object with a subject key
    { subject: ... },
    ...
]

因此,如果您想使用该模板显示单个值,那么:

this.switchTo('list', {
    tickets: [ { subject: this.count } ]
});

或者您可以使用其他模板:

<!-- whatever HTML wrapping you need... -->
{{count}}

this.switchTo('count_template', {
    count: this.count
});