铁路由器/流星 - 如何将数据从控制器传递到模板?

时间:2015-03-31 15:58:40

标签: templates meteor router iron

我正在处理用户个人资料页面,我正在尝试将数据从控制器传递给模板助手。这是我的控制者:

usersDetailController = RouteController.extend({
waitOn: function () {
    Meteor.subscribe('userProfileExtended', this.params._id);
},

 data: function(){
    console.log('info is ' + this.params._id);
    var a = Meteor.users.findOne(this.params._id);
    console.log(a);
    return Meteor.users.findOne(this.params._id);
},

action: function() {
    this.render('Users');
}

});

这是我的模板助手:

Template.Users.helpers({
user: function() { 

    //define user based on the data context from the route controller
}
});

有人可以就如何传递我在模板助手中控制器中定义的数据提供一些指导吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

取消帮助程序并改为使用此模式:

data: function(){
  return {
    user: Meteor.users.findOne(this.params._id)
  };
}

这样您就可以在模板中引用user,因为数据上下文将被设置为路径数据函数的结果。