Angular. Вызвать метод сервиса в другом сервисе
Есть интерфейс, который формируется из БД.
const forms: CustomForms = [
{
id: "9cab479e-2158-483e-b775-e1b6825b71f4",
behavior: "component",
component: FileHandlerComponent,
skipParameters: false
},
{
id: "9cab479e-2158-483e-b775-e1b6825b71f4",
behavior: "service",
component: FileHandlerComponent,
service: FileHandlerService,
method: {
invoke: (id, parameters) => {
console.log(id, parameters);
}
},
skipParameters: false
}
];
Но если требуется какое-то особое взаимодействие, то можно перехватить id команды пользователя и сделать что-то другое. Есть 3 типа поведения.
switch (form.behavior) {
case "component":
this.router.navigate(createRoute("/form", customFormId, parameters));
break;
case "service":
if (form.service) { }
break;
case "redirect":
if (form.path) {
let route: any[] = [form.path];
if (!form.skipParameters) {
const urlParameters = packParameters(parameters);
if (urlParameters) {
route.push({ parameters: urlParameters });
}
}
this.router.navigate(route);
}
break;
}
"component" и "redirect" похожи, первый вызывает компонент, второй редирект на путь, при котором запускается компонент из routing модуля.
Вопрос такой, не могу никак реализовать поведение "service" когда нужно вызвать метод сервиса или компонента без редиректа. Может кто-нибудь подскажет?