Выход EmberJs внутри нескольких вложенных маршрутов - PullRequest
0 голосов
/ 27 марта 2019

Я не совсем понимаю аутлет и шаблоны рендеринга в EmberJS. До сих пор я выполнял в основном операции CRUD, или мои маршруты не были вложены столько раз, сколько здесь, поэтому я еще не сталкивался с этой проблемой. Использование {{outlet}} в родительском маршруте было достаточно.

Проблема связана с моим подходом, к которому я привык. Все отлично работает, когда я посещаю routes admin/*, но когда я пытаюсь попасть, например admin/organization/{id}/user он отображает шаблон admin/organization, чего я бы хотел избежать. Я полагаю, что все это можно сделать с помощью функции renderTemplate() внутри route.js, но я не могу понять это.

Я воссоздал свою структуру маршрутов в [twiddle]

Может ли кто-нибудь объяснить мне это, пожалуйста?

1 Ответ

4 голосов
/ 28 марта 2019

Вложенные маршруты всегда имеют вложенные шаблоны. Чтобы обойти это, вы можете использовать маршрут index, который существует на каждом уровне по умолчанию. Структура ваших шаблонов будет такой:

-app
--templates
---admin
----organization
-----index.hbs //template for admin/organization/index route, url: /admin/organization
-----user.hbs //template for admin/organization/user route, url: /admin/organization/user
----index.hbs //template for admin/index route, url: /admin

Обратите внимание, что если некоторый файл шаблона не существует (в моем примере app/templates/admin.hbs, app/templates/admin/organization.hbs не существует), это то же самое, что файл .hbs с только {{outlet}} в нем

...