Как я могу определить маршрут по его пути - PullRequest
0 голосов
/ 14 апреля 2020

Я работаю с Angular 8.2.4 ,

Пока я получаю ActivatedRoute, я хочу определить активированных потомков текущего Маршрута: v1 или v2 .

Мне удалось активировать первых детей. Маршрут:

let currentRoute = this.route.snapshot.children[0]; 

Но я должен знать, является ли это v1 или v2 или ни v1, ни v2? => Я хочу быть точным.

Я думаю, что это может быть хорошей функцией для следующей Angular версии, в которой мы добавляем свойство name в определение маршрутов и добавляем также определенное имя в ActivatedRoute.

Но теперь, как я собираюсь сделать разницу между двумя дочерними маршрутами?

app-routing:

routes = {
            path: '',
            pathMatch: 'full',
            redirectTo: 'home',
        },
        {
            path: 'new',
            children: [
                {
                    path: 'v1',
                    pathMatch: 'full',
                    component: newComponent,
                },
                {
                    path: 'v2',
                    pathMatch: 'full',
                    component: new2Component,
                }
            ],
        };

AppComponent.ts :

constructor(
    private readonly route: ActivatedRoute,
) {
    let currentRoute = this.route.snapshot.children[0];
    if (currentRoute is v1){
        //treatment.
    }
}

1 Ответ

0 голосов
/ 14 апреля 2020

Вы можете найти сегмент, который вы ищете.

const isv1 = this.route.snapshot.url.find((seg) => seg.path === 'v1')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...