Как я могу создать экземпляр сервиса (инъекционный) с Angular внутри класса - PullRequest
0 голосов
/ 17 мая 2019
import { Store } from '@ngxs/store';
export class Service {

    constructor(private _store: Store) {}
}

export abstract class A {
    constructor( private _service: Service ) {  }
}

export class B extends A {
    constructor( private _service: Service ) {
        super(_service);
    }
}

Я бы хотел избежать того, чтобы B (и другие 10 классов, такие как B) объявляли и передавали этот сервис A. Я читал об использовании ReflectiveInjector, но, очевидно, он работает только тогда, когда все провайдеры получили @Injectable ()декоратор, который не предоставляется в магазине.

Есть идеи, если и как это возможно?

1 Ответ

0 голосов
/ 17 мая 2019

Вы можете создать экземпляр класса, если также вставите зависимость:

public store: Store = new Store()    
public service: Service = new Service(this.store);
...