Я пытаюсь настроить маршрутизацию так, чтобы при переходе к #/my отображалось содержимое для #/folder/62 (или какой-либо идентификатор, хранящийся в переменной), а при переходе к #/public отображалось содержимое для #/folder/1 ( такое же понятие).
Кроме того, я хотел бы, чтобы приложение переходило к одному из этих маршрутов при загрузке, в зависимости от того, аутентифицирован ли пользователь. Проверка подлинности завершена, но после настройки указанных выше маршрутов я хочу активировать один из них.
Вот что у меня есть:
activate: function () {
router.useConvention();
router.handleInvalidRoute = function (route, params) {
//debugger;
logger.logError("Invalid route", route, null, true);
};
router.map([
{ url: 'home', moduleId: 'viewmodels/home', name: 'Home', visible: false },
{ url: 'my', moduleId: 'viewmodels/folder', name: 'My Content', visible: false }, // Should display contents of /folder/2
{ url: 'public', moduleId: 'viewmodels/folder', name: 'Public Content', visible: false }, // Should display contents of /folder/3
{ url: 'set/:id', moduleId: 'viewmodels/set', name: 'Set', visible: false },
{ url: 'folder/:id', moduleId: 'viewmodels/folder', name: 'Folder', visible: false }
]);
if (auth.isAuthenticated)
return router.activate('my'); // should show details page of a particular folder
else {
return router.activate('public'); // should show details page of a particular folder
}
}