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

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

7 ответов

21 просмотр

А как вы хотите чтобы это было? Можно вывести массив всех роутов из 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)

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

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта