Aurelia: дочерние маршруты маршрутизатора отображаются в «главной» навигационной панели, а дочерние - в элементе app.html <router-view>?

Мы хотим иметь боковое меню и «главную» область. В зависимости от того, как вы перемещаетесь, пункты меню боковой панели изменятся, и в «основную» область будет загружен новый вид.

Я создал app.html с<router-view> элемент и nav-bar.html, который может отображать навигацию основного маршрутизатора. Допустим, у меня изначально есть «Администрирование» и «Отчеты» в качестве маршрутов (и, следовательно, пунктов меню). Когда пользователь нажимает кнопку «Администрирование», я хотел бы обновить меню, чтобы отобразить дочерние маршруты (скажем, «Пользователи» и «Настройки»), и чтобы модель представления администратора отображалась в файле app.html.<router-view>.

Первоначально я пытался создать дочерний маршрутизатор, но затем у меня должен быть новый<router-view> внутри admin.html (без этого страница даже не загрузится). Вместо этого я хочу, чтобы представление admin.html отображалось внутри<router-view> из app.html, и для дочерних маршрутов, чтобы заменить «основные» маршруты в меню панели навигации.

В ap, p.js у меня есть следующая конфигурация маршрутизатора:

this.router.configure((config) => {
    config.title = "Welcome";
    config.map([
        { route: "", moduleId: "welcom", nav: false, title: "Welcome" },
        { route: "reports", moduleId: "reports", nav: true, title: "Reports" },
        { route: "admin", moduleId: "users", nav: true, title: "Administration" },
    ]);
});

В users.js у меня есть этот код:

this.router.configure((config) => {
    config.title = "Users";
    config.map([
        { route: "", moduleId: "users", nav: true, title: "Users" },
        { route: "settings", moduleId: "settings", nav: true, title: "Settings" },
    ]);
});

Изначально меню должно быть:
- Администрация
- отчеты

и "welcome.html" должен быть представлением в<router-view> (маршрут по умолчанию «добро пожаловать»).

Когда пользователь нажимает (переходит к) «Администрирование», меню должно обновиться, чтобы:
- Пользователи - Настройки

с "users.html" в<router-view>.

Однако, чтобы заставить это работать вообще, мне нужно иметь дальнейшее<router-view> в "users.html", и это не совсем то, что я хочу (я хочу, чтобы представление загружалось в app.html<router-view>).

Есть ли способ достичь этого в Аурелии? Я даже пытался внедрить родительский маршрутизатор в конструктор администратора (используяParent.of(router) обязательный), а затемrouter.addRoute(), Маршрут добавляется, но меню не обновляется (даже если оно связано с данными).

Ответы на вопрос(1)

Ваш ответ на вопрос