最新工厂提供器写法,老师讲的已经编译错误,请更正

来源:4-4 使用工厂和值声明提供器

慕粉18521598093

2017-09-25

export function httpFactory(){     let logger = new LoggerService();     let dev = Math.random() > 0.5;     if(dev){       return new StockService(logger);     }else{       return new AnotherStockService(logger);     } }       最新工厂提供器写法,老师讲的已经编译错误,请更正

写回答

1回答

慕粉18521598093

提问者

2017-09-25

import {BrowserModule} from "@angular/platform-browser";
import {NgModule} from "@angular/core";

import { AppComponent } from './app.component';
import { StockComponent } from './stock/stock.component';
import { StockService } from './shared/stock.service';
import { Stock2Component } from './stock2/stock2.component';
import {LoggerService} from "./shared/logger.service";
import {AnotherStockService} from "./shared/another-stock.service";
export function httpFactory(logger:LoggerService,isDev){
   //let logger = new LoggerService();
   //let dev = Math.random() > 0.5;

   if(isDev){
     return new StockService(logger);
   }else{
     return new AnotherStockService(logger);
   }
}
export function isDev():boolean{
 let IS_DEV_ENV:boolean;
 return IS_DEV_ENV;
}

@NgModule({
 declarations: [
   AppComponent,
   StockComponent,
   Stock2Component,
 ],
 imports: [
   BrowserModule
 ],
 /**
  * 实例化此服务
  * StockService 工厂提供器需实现方法 useFactory 可以传入参数注入另一个服务LoggerSevice
  */
 providers: [
   {provide:StockService,useFactory:httpFactory,deps:[LoggerService,isDev]},
   LoggerService,{provide:isDev,useValue:true}],
 bootstrap: [AppComponent]
})
export class AppModule { }

0
0

Angular4.0从入门到实战 打造股票管理网站

Angular新特性,教你熟练使用 Angular 和 Typescript 开发组件式单页应用

2683 学习 · 1361 问题

查看课程