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')
    ]);
  }
  ...

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


person Alex Haslam    schedule 14.01.2016    source источник


Ответы (1)


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

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

person Günter Zöchbauer    schedule 14.01.2016
comment
облом. Включает ли это удаление маршрутов? - person Alex Haslam; 14.01.2016
comment
Я не видел ничего, связанного с удалением маршрутов. Хотя роутер в работе. Есть много запросов функций, которые они рассматривают для реализации. У меня сложилось впечатление, что есть по крайней мере одна проблема, которая частично охватывает ваш вопрос, но я не смог ее найти. - person Günter Zöchbauer; 14.01.2016