Цель: Я хочу, чтобы преимущества сегрегации и инкапсуляции в использовании дочерних маршрутизаторов для организации маршрутов по значительным областям функций приложения. Тем не менее, я хочу, чтобы эти маршруты обрабатывались и составлялись с помощью привязки представления родительского маршрутизатора. iee
<div id="parentRouterViewport" data-bind="router: { cacheViews: true }"><div>
До сих пор все, что я пробовал, включая обратные вызовы родительскому маршрутизатору для делегирования маршрута (как эксперимента), потерпел неудачу. Заставить меня задаться вопросом, возможно ли это.
Для краткости я просто включаю разделы критического кода миссии для маршрутизации.
shell.js
return {
router: router,
activate: function() {
return router.map([
{ route: 'App*splat', moduleId: 'app/home/viewmodels/index', title: 'Home', nav: true }
]).buildNavigationModel()
.mapUnknownRoutes('app/home/viewmodels/error')
.activate();
}
};
shell.html
<div id="content" data-bind="router: { cacheViews: true }"></div>
index.js(модуль детской маршрутизации)
var childRouter = router.createChildRouter()
.makeRelative({
moduleId: 'app/home/viewmodels',
fromParent: true
}).map([
{ route: 'EligibiltySearch', moduleId: 'eligibilitySearch', title: 'Eligibility Search', nav: true }
]).buildNavigationModel();
return {
router: childRouter
};
});
Единственный способ, которым это работает, - установить привязку видового экрана маршрутизатора в соответствующем представлении index.html. Тем не менее, это не то, что я получаю после того, как я основывался на макете css и просмотре страницы, которую я пытаюсь создать. Все должно быть представлено в виде панели и заменено на другую панель всякий раз, когда наносится маршрут. В настоящее время этот подход будет постоянно открываться двумя панелями. Взгляните на фотографию ниже, чтобы лучше понять, что я имею в виду.