Angular Best Practice: передача данных в качестве входных данных или использование параметров запроса
Я разрабатываю приложение, и лучше было бы запутаться с ним. Я хочу сделать http-запросы на основе входных данных, которые я получаю от другого компонента. Итак, у меня есть 2 разных способа отправки данных из одного компонента в компонент, который выполняет вызов API (через службу).
- Использование @Input()
- извлекая параметры запроса из URL (поскольку я хочу сохранить входные данные в URL)
Я не уверен, если получить данные, используя метод parseUrl службы маршрутизатора в ловушке жизненного цикла ngOnChanges (this._router.parseUrl(this._router.url).queryParams.fund1
) или просто используя ngOnChanges со следующей проверкой
if (changes['fund1'] &&
changes['fund1'].currentValue &&
changes['fund1'].previousValue !== changes['portIdFund1'].currentValue
)
Хорошо ли внедрять сервис Router в компонент или просто использовать Angular native @Input? Я должен написать больше кода позже (@Input).
1 ответ
Это хорошо, чтобы внедрить службу маршрутизатора в компонент?
Да, это как / почему сервисы используются.
Не усложняйте свои компоненты, добавляя слишком много входных данных, которые вы легко можете получить из сервисов.
но это не значит, что вы можете безрассудно пользоваться услугами. Вы должны сохранить равновесие.