2

当我有这样的提供者时

  { provide: SaModelService, useValue: 'foo@yahoo.com' }

我可以通过在组件中这样使用来获得价值

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
  providers: [
    { provide: SaModelService, useValue: 'foo@yahoo.com' }
  ]
})
export class AppComponent implements AfterViewInit {

  constructor(private model: SaModelService) {

  }
  ngAfterViewInit() {
    console.log(this.model);
  }

}

服务看起来像这样

import { Injectable } from '@angular/core';

    @Injectable()
    export class SaModelService {


    }

现在,我如何在使用工厂提供程序时获得价值,即

{
      provide: APP_INITIALIZER,
      useFactory: () => function () { return 'foo@yahoo.com' },
      multi: true
    }

现在我给出这个例子只是为了简化场景,但不仅仅是传递字符串,我想在工厂内调用一些服务

我的问题是,是否可以访问该变量,如果没有,那么我将如何获得我将在组件中使用的值

4

0 回答 0