aureliajs условный родительский макет - PullRequest
4 голосов
/ 07 апреля 2019

Я пишу свое клиентское приложение в aureliajs. И по умолчанию для маршрута, подобного этому:

/app/access/management

мое приложение отображается так:

rendering schema

Например, предположим, что заголовок и боковая панель отображаются на app, а затем общий контейнер в access и, наконец, основной html в management.

Теперь у меня есть подкомпонент access, например, с именем list. И в этом компоненте я хочу, чтобы страница отображалась без родительского контейнера (без родительских HTML-тегов).

Так что я думаю, что у меня есть несколько решений:

  1. Создание list в другом модуле, например /app1/access/list, который не отображает никаких дополнительных html в app1 и access.

  2. Создайте условие внутри app и access, чтобы решить рисовать верхний и нижний колонтитулы и т. Д.

  3. Вызовите функцию в list, чтобы скрыть нарисованный макет в родителях.

Но я не могу найти лучший способ. Например, способ сказать родителю, что он не отображает что-либо.

Какая лучшая практика или шаблон?

Ответы [ 2 ]

3 голосов
/ 07 апреля 2019

Аналогично мастер-страницам макета в стиле MVC, Aurelia позволяет использовать представление «макета» как «основной шаблон» MVC для набора представлений.

Набор представлений, являющихся частью макета, определен в Aurelia как набор представлений, на которые ссылается один или несколько маршрутов в маршрутизаторе конфигурации. Есть два способа связать макет с маршрутами. Первый - через HTML, второй - через код модели представления. ...

и

... Чтобы указать макет в пользовательском элементе router-view, мы используем следующие атрибуты:

  • layout-view - указывает имя файла (с путем) для используемого макета.
  • layout-view-model - указывает moduleId модели представления для использования с представлением макета.
  • layout-model - указывает параметр модели для передачи в функцию активации модели вида компоновки. ...

, а затем через конфигурацию маршрута:

... Мы также можем связать макеты с конфигурациями маршрутов, используя код в наша модель взгляда. Предположим, нам нравится то, что мы сделали выше, но у нас есть пара просмотров, которые мы хотели бы связать с другим макетом и поэтому хотел бы частично переопределить конфигурацию, приведенную в HTML. Следующий код является примером того, как мы можем это сделать: ...

Предлагаю вам внимательно прочитать эту статью: Настройка маршрутизатора aurelia -> Макеты

3 голосов
/ 07 апреля 2019

Вы можете использовать условие, если access component ViewModel, чтобы проверить, был ли маршрут /app/access/list, тогда компонент загружается с свойством контейнера меньше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...