在Meteor中,我如何编写一个帮手来在车把的每个循环中使用?

时间:2013-03-29 04:00:58

标签: javascript meteor handlebars.js

我的帐户(一个集合)的每一行都是关于{_id:xxx,last_name:'kuo',first_name'willy'}

我在我的client.js

中有以下内容
Template.accountPage.accounts = function() {
    return Accounts.find({});
}

我的问题出在我的client.html:

{{#each accounts}}

  {{last_name}}
  {{first_name}}
  {{full_name}}   # <-----  how can I implement the full_name helper
                  #         which should return account.first_name + account.last_name

{{/each}}

修改

以上示例应该很简单,以下是新的:

我在我的client.js

中有以下内容
Template.accountPage.accounts = function() {
    return Accounts.find({});
}

我的问题出在我的client.html:

{{#each accounts}}

  {{last_name}}
  {{first_name}}
  {{created_at}}   # <-----  how can I implement the created_at
                   #         which is computed by accounts._id.getTimestamp()

{{/each}}

3 个答案:

答案 0 :(得分:1)

定义以下帮助器可以实现目标:

Template.accountPage.helpers({
    created_at: function() {
        return this._id.getTimestamp();
    }
})

答案 1 :(得分:1)

waitingkuops方法有效,但仅适用于该特定情况。如果要为循环项目分配任意助手,可以执行以下操作:

{{#each accounts}}
  {{> accountItem}}
{{/each}}

<template name="accountItem">
  // custom helper
  {{customValue}}
  // standard values
  {{last_name}}
  {{first_name}}
  {{last_name}}
</template>

Template.accountItem.helpers({
  customValue: this.first_name + this.last_name + 'hey!'
});

答案 2 :(得分:0)

尝试

{{#each accounts}}
  {{last_name}}
  {{first_name}}
  {{first_name}} {{last_name}} 
{{/each}}