Я пытаюсь вызвать метод A_Component, принадлежащий A_Module, из B_Component, принадлежащего B_Module, и получаю следующую ошибку, как только я добавляю A_Component в качестве параметра в конструктор B_Component:
NullInjectorError: Нет поставщика для A_Component!
РЕДАКТИРОВАТЬ: эти два компонента не родительский / дочерний. Их модули импортированы app.module
(Код кратко изложен)
A_Module:
import { A_Component } from '...'
@NgModule({
imports: [...],
declarations: [A_Component],
exports: [A_Component],
})
export class A_Module { }
B_Module:
import { A_Module } from '...'
import { B_Component } from '...'
@NgModule({
imports: [A_Module],
declarations: [B_Component]
})
export class B_Module { }
A_Component:
export class A_Component {
someMethod() {...}
}
B_Component:
import { A_Component } from '...'
export class B_Component {
constructor(public a_Component: A_Component)) {} //this param causes error
callSomeMethod() {
this.a_Component.someMethod();
}
}
Разве это не то, как вызывать компонентные методы между модулями? Это единственный способ сделать это с помощью службы?