与铁路线路径的流星

时间:2015-05-26 19:36:46

标签: javascript meteor iron-router

当我点击用户的名字时,我希望该链接转到他们的个人资料页面。我正在使用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?让我知道,我将编辑这篇文章。感谢。

1 个答案:

答案 0 :(得分:1)

为了获得正确的链接,您必须使用以下语法:

{{pathFor 'CompanyPage' _id=userId }}

this._id应该是用户的ID

发生了什么:

对于具有某种附加标识符的路由,Iron Router在this中查找相同的标识符名称。如果将this设置为正确的数据上下文,则会起作用,但对于/路由,您没有定义数据上下文。在CompanyPage上,数据上下文定义为正确的用户。