Ember роутер прерывается при перенаправлении на '/' - PullRequest
0 голосов
/ 06 ноября 2019

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

 this.route('mainRoute', function() {
     this.route('list');
 });

Интересующий нас путь - это / mainRoute. К сожалению, существует множество устаревших ссылок, которые указывают на / mainRoute / list. Обходным путем для этого было перенаправление из компонента / mainRoute / list обратно в компонент / mainRoute.

beforeModel() {
   this.replaceWith('/mainRoute');
}

Теперь моя проблема заключается в том, что навигационная ссылка / mainRoute никогда не будет рассматриваться как активная. Я пытался добавить путь для / mainRoute ('/', '/ mainRoute', 'mainRoute'), я пытался преобразовать его в ресурс и кучу других вещей, которые мне приходили в голову. Но это либо не сработает, либо пойдет в бесконечном цикле перенаправления.

Есть мысли по этому поводу? Большое спасибо, мне действительно нужно решение для этого!

1 Ответ

2 голосов
/ 06 ноября 2019

Если навигационные ссылки являются {{link-to}} компонентами. Существует свойство current-when , которое вы можете использовать здесь. Он принимает либо boolean, либо string. Строка представляет собой разделенные пробелами значения с именами маршрутов, которые вы хотите, чтобы эта ссылка была активной, когда.

Из документов

Если вам нужна ссылка, чтобы быть 'активной'даже если он не соответствует текущему маршруту, вы можете использовать аргумент current-when.

<LinkTo @route='photoGallery' @current-when='photos'>
  Photo Gallery
</LinkTo>
{{#link-to 'photoGallery' current-when='photos'}}
  Photo Gallery
{{/link-to}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...