Angular Dart - получить параметр из родительского маршрута - PullRequest
0 голосов
/ 16 мая 2018

В шаблоне у меня есть следующая routerLink: [routerLink]="['../myObjects', {'id': object.id}, 'mySubObjectsList']"

Маршрутизация в порядке, но я не могу получить значение параметра id в моем компоненте mySubObjectsList. _routeParams.params пусто.

Полагаю, это связано с тем, что для этого параметра установлен родительский компонент маршрутизации myObjects.

Есть ли способ получить его в моем подкомпоненте?

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 16 мая 2018

Я не думаю, что есть простой способ. Вы можете добавить параметры к сервису в родительском сервисе и сделать этот сервис доступным для ребенка:

@Service()
class ParentRouteParams {
  Map<String,String> params;
  // using a StreamController is probably a good idea
}

@Component(
  selector: 'parent',
  providers: const [ParentRouteParams],
  ...
)
class Parent {
  Parent(this._parentRouteParams);

  final ParentRouteParams _parentRouteParams;

  @override
  void onActivate(_, RouterState current) {
    _parentRouteParams.params = current.parameters;
  }
}
@Component(
  selector: 'child'
  ...
)
class Child {
  Parent(this._parentRouteParams);

  final ParentRouteParams _parentRouteParams;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...