Javascript Template.tmpl.helpers()中Iron Router RouteControl中的call方法不起作用

Javascript Template.tmpl.helpers()中Iron Router RouteControl中的call方法不起作用,javascript,node.js,meteor,iron-router,meteor-blaze,Javascript,Node.js,Meteor,Iron Router,Meteor Blaze,每次调用loadMoreClients方法时,我都试图将新数据推送到我的clients数组中。出版物希望此返回到参数,并且知道如何处理它。我的问题是,我似乎无法从模板助手调用这些方法 我将Iron和Iron.controller记录到控制台,它们都存在,并向我显示了我希望看到的内容。我似乎找不到如何从我的模板助手中访问Iron.controller()方法/属性的当前文档或示例 这是我的RouteControl代码: ClientController = ApplicationControlle

每次调用
loadMoreClients
方法时,我都试图将新数据推送到我的
clients
数组中。出版物希望此
返回到
参数,并且知道如何处理它。我的问题是,我似乎无法从模板助手调用这些方法

我将
Iron
Iron.controller
记录到控制台,它们都存在,并向我显示了我希望看到的内容。我似乎找不到如何从我的模板助手中访问
Iron.controller()
方法/属性的当前文档或示例

这是我的RouteControl代码:

ClientController = ApplicationController.extend({
action : function(){
    this.render(Router.current().route.getName())
},

data : function(){
    if( this.params._id ){
        return Clients.findOne({ _id:this.params._id })
    }
},

waitOn : function(){
    return [
        Meteor.subscribe('directory'),
        Meteor.subscribe('clients')
    ]
},

loadMoreClients : function(){
    this.months_back += 3
    this.back_to = moment().subtract(this.months_back,'months').startOf('day')
    this.clients.push(Meteor.subscribe('clients', {back_to:this.back_to, skip:this.clients.length}))
},

loadAllClients : function(){
    this.clients.push(Meteor.subscribe('clients', {back_to:this.start_of_time, skip:this.clients.length}))
},

// we'll use these properties to 'load more' client data
clients : [],
back_to : moment().subtract(3,'months').startOf('day'),
months_back : 3,
start_of_time : moment(new Date(0))
})
这是我的助手代码:

Template.client_list.helpers({
clients : function(){
    var clients = []
    Iron.controller().clients.forEach(function(client){
        // ... some stuff here...
        clients.push(client)
    })

    return clients
},

earliestClientLoaded : function(){
    var controller = Iron.controller()
    return controller.clients[controller.clients.length - 1].createdAt
}
})

Template.client_list.events({
'click .btn-load-more' : function(e){
    e.preventDefault()

    Iron.controller().loadMoreClients()
},

'click .btn-load-all' : function(e){
    e.preventDefault()

    Iron.controller().loadAllClients()
}
})
我对
loadMoreClients
loadAllClients
方法的
Iron.controller()
调用出现
undefined function
错误


我做错了什么?

我改变了解决这个问题的方法,只需更新订阅,以便在当前加载日期之前订阅帖子

它正在工作,尽管看起来应该有一个比我想加载更多内容时必须
waitOn
订阅更好的方法