当我点击用户的名字时,我希望该链接转到他们的个人资料页面。我正在使用Meteor和铁路由器。以下是已定义的路线:
Router.route('/', { name: 'JobsList'}); //homepage with all users
//this is where the user's profile is located and works:
Router.route('/company/:_id/', {
name: 'CompanyPage',
data: function() { return Meteor.users.findOne(this.params._id); }
});
//this page shows all users with url that works:
Router.route('/companies/', {name: 'CompaniesList'});
当我将鼠标悬停在主页上的用户名称上时,我收到的链接不正确,但当我将其名称悬停在' / companies /'上时,我会收到正确的链接。页。为了生成链接,我使用pathFor "CompanyPage"
。
我是否遗漏了导致主页上网址不正确的内容?您需要查看哪些js或html?让我知道,我将编辑这篇文章。感谢。
答案 0 :(得分:1)
为了获得正确的链接,您必须使用以下语法:
{{pathFor 'CompanyPage' _id=userId }}
this._id应该是用户的ID
发生了什么:
对于具有某种附加标识符的路由,Iron Router在this
中查找相同的标识符名称。如果将this
设置为正确的数据上下文,则会起作用,但对于/
路由,您没有定义数据上下文。在CompanyPage上,数据上下文定义为正确的用户。