Angular: экземпляр класса, имеющий StaticProvider в качестве параметра - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь создать экземпляр класса, имеющий StaticProvider. Ниже приведен код

main.ts

 export function providerFactory() {
  //some code
   return result; //result is string
 }

 const providers = [
   { provide: 'TEST', useFactory: providerFactory, deps: [] }
 ];

 function BootstrapModule() {
    platformBrowserDynamic(providers)
    .bootstrapModule(module)
    .catch(error);
 }

demo.ts

 export class Demo  {
  constructor(@Inject('TEST') private test: string) {
 }

Теперь я хочу позвоните по номеру demo по следующему коду:

 let t = new Demo() // error occurs

Я много пытался, но не смог найти решение.

Любая помощь будет отличной.

Спасибо .

1 Ответ

1 голос
/ 02 апреля 2020

Если вы не используете DI Angular и создаете эти экземпляры на лету, просто передайте providerFactory в качестве аргумента конструктора.

let t = new Demo(providerFactor()).

Тогда удалите аннотацию Injection из своего демонстрационного класса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...