Я ищу полезную практику использования одного компонента с несколькими службами.
У меня есть боковое навигационное меню с 7-8 пунктами в нем.Нажатие на них должно открыть компонент для редактирования простой формы и отправить обновленные данные в службу, которая соответствует выбранному элементу навигации .
// responses-routing..
const responsesRoutes: Routes = [
{
path: 'responses',
component: ResponsesComponent,
children: [
{
path: '',
component: ResponsesHomeComponent
},
{
path: ':type/:childUrl', <----- here
component: ResponsesEditComponent
}
]
}
];
Я сейчас используюодин компонент (ResponsesEditComponent) в
1) Получить поля «type» и «childUrl» из URL-адреса (этот URL-адрес перемещается с использованием маршрутизатора и бокового навигационного меню. Параметры извлекаются с использованием activRoute)
2) Принять очень простой пользовательский ввод
3) Выполнить сервисный вызов для отправки полученного ввода. Решение об использовании службы зависит от полей «type» и «childUrl», полученных из параметров.
В некотором пункте 7-8 пунктов меню будут иметь подпункты, которыетакже будет использовать службы, которые принадлежат их родительскому пункту меню.
Текущая система может работать, если я продолжу, но я чувствую, что должен быть лучший способ справиться с этим.Внедрение 8 сервисов в сервис и необходимость выбора того, какой сервис использовать при каждом нажатии кнопки отправки, - не самый лучший способ сделать это.
Я рассматриваю
- разделить один маршрут на 8 маршрутов
- использовать 8 компонентов вместо 1, каждый из которых соответствует пункту меню
- внедрить 1 соответствующую услугу каждому компоненту
но это, кажется, просто повторяющаяся работа.
Не могли бы вы объяснить, как вы подходите к такому сценарию, или указать на связанную концепцию, с которой я, возможно, не знаком?
Приветствия.