我的路由器不能正常工作,這是路由器代碼預期
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沒有出現在控制檯,當我檢查 –