我的路由器不能正常工作,这是路由器代码预期
Router.route('screens', {
path: '/screenshots/:_id',
template: 'screens',
onBeforeAction: function(){
Session.set("currentRoute", "screens");
Session.set("screenshots", this.params._id);
this.next();
}
});
这是出于截图模板
Template.screens.helpers({
ss: function() {
var screenshots = Session.get("screenshots");
return Products.findOne({ _id: screenshots});
}
});
助手和我在这里称之为
<h4><a href="/screenshots/{{_id}}">Click to view the Screenshots</a>
当我点击查看截图网址,URL应该是这个/screenshots/:_id
根据我的路由器配置,但我看到的t他的浏览器是/screenshots/
而没有_id
,页面显示404 - NOT FOUND。
是否可以创建嵌套的路线? 因为之前我点击执行上述路线的链接。我将在这条航线
Router.route('itemDetails', {
path: '/item/:_id',
template: 'itemDetails',
onBeforeAction: function(){
Session.set("currentRoute", "itemDetails");
Session.set("itemId", this.params._id);
this.next();
}
});
和这条线路工作正常,我可以看到该项目_id,是有可能创造里面另一条路线有例如这条道路/item/:_id/screenshots
?
我有存储在Session.get("itemId")
中的_id。是否有可能以某种方式在路线中调用它?
我试图'/item' + '/screenshots' + '/' + Session.get("itemId")
但没有奏效
或者有其他的方式来解决呢?
在其中链路填充你可以右键点击该链接并检查,以确保它实际上是添加{{_id}}部分的页面?如果它进入/截图/直接我怀疑它没有得到的ID在链接中添加的第一个地方,因为你的代码不应该清除ID或重定向你 –
@PhilipPryde现在会尝试 –
@PhilipPryde没有出现在控制台,当我检查 –