В приложении Angular построенной на схеме standalone в ряде классов другой класс отображается как пустой объект
Есть приложение на Angular 18, которое построено по принципу standalone, в нем есть компоненты, сервисы, а также вспомогательные классы, которые между собой взаимодействуют.
Есть вспомогательный в виде store класс "заказы", в котором хранятся полученные из сервиса заказов в виде Observable Есть вспомогательный класс в виде store "склады", в котором хранятся полученные из сервисов заказы в виде Observable
Есть вспомогательный в виде store класс "поступления" в котором обрабатываются данные из двух предыдущих классов:
@Injectable({ providedIn: 'root' })
export class IncomeStore {
constructor(
private readonly orderStore: OrderStore,
private readonly warehouseStore: WarehouseStore
) {
console.log(this.warehouseStore); // показывает { }
}
public income$ = combineLatest([
this.orderStore.orders$,
this.warehouseStore.warehouses$
]).pipe(
switchMap([orders, warehouses] => {
............
})
));
}
Суть проблемы:
- Из класса IncomeStore warehouseStore в конструкторе и других методах виден как пустой объект { }, в orderStore виден со всеми свойствами и методами, которые в нем объявлены
- В классе orderStore в конструкторе и других методах warehouseStore также пустой.
- В warehouseStore класс orderStore виден со всеми свойствами и методами
- В ряде других компонентов и store warehouseStore доступен
Класс OrderStore
@Injectable({ providedIn: 'root' })
export class OrderStore {
constructor(
private orderApi: OrderApi,
private warehouseStore: WarehouseStore
) {
console.log(this.warehouseStore); // показывает { }
}
}
Класс WarehouseStore
@Injectable({ providedIn: 'root' })
export class WarehouseStore {
constructor(
private orderStore: OrderStore, // Из класса WarehouseStore orderStore доступен
private warhouseApi: WarhouseApi
) {}
}
Приложение построено по принципу standalone классы WarehouseStore, OrderStore, IncomeStoreкак провайдеры нигде не объявлены, просто используются в constructor
В чем может быть проблема ? Почему класс warehouseStore может быть недоступен ?