169 похожих чатов

Господа, а есть способ получить ВСЕ роуты из приложения?

7 ответов

28 просмотров

А как вы хотите чтобы это было? Можно вывести массив всех роутов из router.config которые лежат. Там, насколько я помню, вообще все роуты перечислены.

Spid3r- Автор вопроса
🚀shmih🚀shmih🚀
А как вы хотите чтобы это было? Можно вывести масс...

Да все равно как ) Хоть консольлогом. Просто нужно все роуты продублировать в новом проекте, а там десятки вложенных модулей, каждый со своим роутингом внутри. Десятки, если не сотни, роутов 🙈

Spid3r
Да все равно как ) Хоть консольлогом. Просто нужно...

переносить же не просто роуты нужно, перенося один модуль с 30 роутами — вы все и перенесете разом

Spid3r- Автор вопроса

Там все сложнее. "Новый" проект — это урезанная версия текущего сайта для SSR. Там не будут все модули из оригинала, нужны лишь некоторые роуты фактически, а остальные роуты нужно просто продублировать в одном роутермодуле "просто чтобы были". Короче, сложно объяснить, задача нетривиальная, но все модули переносить мне точно не нужно.

если совсем коротко, то ... нет такой возможности

Spid3r
Там все сложнее. "Новый" проект — это урезанная ве...

совет выше от @dmmishchenko с router.config + import { Compiler, Component, Injector, OnInit } from '@angular/core'; import { Route, Router } from '@angular/router'; @Component({ templateUrl: './sitemap.component.html' }) export class SiteMapComponent implements OnInit { public urls: string[] = []; constructor(private _router: Router, private compiler: Compiler, private injector: Injector) { } ngOnInit() { this._router.config.forEach(i => { this.getPaths(i); }) } getPaths(route: Route, parent: string = '') { if (route.redirectTo) { return; } if (route.children) { route.children.forEach(i => { this.getPaths(i, parent + route.path); }); } else if (route.loadChildren) { (<any>this._router).configLoader.load(this.injector, route).subscribe(i => { i.routes.forEach(j => { this.getPaths(j, parent + route.path) }); }); } else if (route.path != null) { this.setPath(route.path, parent); } } setPath(path, parent) { let fullPath: string; if (path != null) { if (parent) { fullPath = /${parent}/${path}; } else { fullPath = /${path} } } this.urls.push(fullPath) } } вместо (<any>this._router).configLoader.load (<any>this._router).configLoader.loadChildren (если у вас >= 14)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта