Angular 2 Dart-Динамическая Маршрутизация


Я работаю в Angular 2 Dart, но я должен быть в состоянии перевести любые примеры JS или TS.

1) Как я могу получить список всех зарегистрированных маршрутов?

2) Как удалить маршрут из зарегистрированных маршрутов?

Я знаю, что могу динамически добавлять что-то вроде этого:

  ...
  final Router router;

  AppComponent(this.router){
    this.router.config([
      Route(path: '/Page-0', component: Page0Route, name: 'Page-0')
    ]);
  }
  ...

Но еще предстоит разработать список и удаление маршрутов.

1 3

1 ответ:

Насколько мне известно, в настоящее время официального способа нет. RouteRegistry содержит настроенные маршруты, но не предоставляет открытые члены для доступа к ним, и в Dart вы не можете получить доступ к закрытым полям, как в TypeScript, чтобы обойти это ограничение.

Единственный обходной путь, который я вижу, - это расширение класса RouteRegistry и добавление вашей пользовательской реализации в качестве поставщика для типа RouteRegistry после ROUTE_PROVIDERS, чтобы гарантировать, что ваша пользовательская реализация будет принята вместо этого. Я еще не пробовал этого хотя.