Я пытаюсь создать пользовательские декораторы, которые возвращают новый экземпляр класса, и этот класс должен быть создан из внедренного сервиса, который я не могу понять, как получить к нему доступ из функции декоратора
Пользовательский декоратор
export function Collection(endpoint: string) {
return function (constructor: any) {
const mainService = CollectionModule.injector.get(MainService);
return mainService.getCollection(endpoint);
};
}
Я хочу получить доступ к MainService
из своего пользовательского декоратора, который я пытался использовать, но свойство injector
не существует!
Служба
@Injectable()
export class MainService {
config;
getCollection(endpoint: string): Collection {
return new Collection(endpoint, this.config);
}
}
Ожидаемое использование
export class AppComponent implements OnInit {
@Collection('posts') postsCollection;
ngOnInit() {
console.log(this.postsCollection);
}
}
Обновление
Вот воспроизведение стекаблика