2014-07-17 264 views
0

我有一个名为onBeforeAction的函数来设置会话变量页面标题。我想将它发送给模板的数据。我怎样才能从路由器访问这些数据?铁路由器:访问路由器功能中的路由数据

我已经试过这样的事情:

this.route('userPage', { 
    path: '/profile/:userId', 
    waitOn: function() { 
     return [ 
      Meteor.subscribe('singleUser', this.params.userId) 
     ]; 
    }, 
    data: function() { 
     return { 
      user: Meteor.users.findOne({_id: this.params.userId}, {fields: {'username': 1, 'profile.friends': 1}}) 
     }; 
    }, 
    onBeforeAction: function() { 
     Session.set('pageTitle', this.data.user.username); //THIS 
    } 
}); 

有什么建议?

回答

1

这里,this.data是一个函数。试试这个:

Session.set('pageTitle', this.data().user.username); 
+0

当然。所以当你点击链接时,它会有点作用,但由于某种原因导致导航断开(如果你点击返回按钮)... – oliv23

+0

看看你的浏览器控制台是否有错误。可能有些部分需要被保护,如:'this.data()&& this.data()。user && this.data()。user.username' –