Как стать автором
Обновить
5
0
Алан Ходов @Shirbak

Пользователь

Отправить сообщение

использование функции useQueryParam скрыто

Как же скрыто?

@Component({ /* ... */ })
export class SomeComponent {
  protected readonly id$: QueryParam<string> = useQueryParam('id');
  //                                           ~~~~~~~~~~~~~~~~~~~
  //                           вот она родимая, прямо в компоненте
}

Я открыл файл и вижу, что здесь будет идти речь о query-параметре id.

Можем, в принципе, воспользоваться вашим решением:

@Component({ /* ... */ })
export class SomeComponent {
  protected readonly queryParamService = inject(QueryParamService);
  protected readonly id$: QueryParam<string> = 
    this.queryParamService.getQueryParam('id');
}

Если я правильно понял, под скрытыми зависимостями имеются в виду ActivatedRoute и Router . Ну в этом случае их здесь тоже нет — они скрыты в сервисе.

Получается практически то же самое, разве что у нас появилось лишнее поле queryParamService. К тому же, этот сервис providedIn: root и получает не совсем тот экземпляр ActivatedRoute.

А это важно, если мы будем работать с path-параметрами.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность