Angular通过依赖注入机制注入一个对象的例子

假设我在app.config.ts里定义了一个interface AppConfig和一个对象HERO_DI_CONFIG, 我想将后者注入到一个类的构造函数里去:

export interface AppConfig {
    apiEndpoint: string;
    title: string;
  }

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

export const APP_CONFIG = new InjectionToken<AppConfig>('app.config');

export const HERO_DI_CONFIG: AppConfig = {
  apiEndpoint: 'api.heroes.com',
  title: 'Dependency Injection'
};

使用InjectionToken新建一个token,类型参数为AppConfig,单引号里的app.config是injection token的描述信息。

在NgModule里使用useValue注入:

在需要使用这个依赖的地方,将token APP_CONFIG传入@Inject:

最后的效果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章