это код маршрутизатораМой маршрутизатор не работает, как ожидалось
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>
When я нажимаю, чтобы посмотреть URL скриншотов, URL должен быть указан /screenshots/:_id
на основе конфигурации моего маршрутизатора, но то, что я вижу в t он браузер /screenshots/
без _id
, и страница показывает 404 - НЕ НАЙДЕНО.
Возможно ли создание вложенных маршрутов? , потому что перед тем, как я нажму на ссылку, которая выполняет вышеуказанный маршрут. я буду в этом маршруте
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
?
У меня есть _id, хранящийся в Session.get("itemId")
. Можно ли так или иначе назвать это на пути маршрута?
Я попытался '/item' + '/screenshots' + '/' + Session.get("itemId")
, но не работал
или есть другой способ решить эту проблему?
на странице, где ссылка населен может щелкнуть правой кнопкой мыши по ссылке и проверить его, чтобы убедиться, что он на самом деле добавления {{}} _id часть? если он идет в/screenshots/напрямую, я подозреваю, что он не получает идентификатор, добавленный в ссылку, в первую очередь, так как ваш код не должен очищать идентификатор или перенаправлять вас –
@PhilipPryde попробует сейчас –
@PhilipPryde ничего не появляется в консоль, когда я проверяю –