Iron Router/Meteor — Как передать данные с контроллера в шаблон?

Я работаю над страницей профиля пользователя и пытаюсь передать данные от контроллера помощнику шаблона. Вот мой контроллер:

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
}
});

Может ли кто-нибудь предложить мне некоторые рекомендации о том, как передать данные, которые я определил в контроллере, в помощнике по шаблону??

Спасибо!!


person Trung Tran    schedule 31.03.2015    source источник
comment
Вы пробовали использовать сеансы? Session.set('someValue',this.params.id)   -  person Ethaan    schedule 31.03.2015


Ответы (1)


Избавьтесь от помощника и используйте вместо него этот шаблон:

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

Таким образом, вы сможете ссылаться на user в своем шаблоне, потому что контекст данных будет установлен на результат функции данных маршрута.

person saimeunt    schedule 31.03.2015