constructor(private oc:overlayContainer){
const injector =ReflectiveInjector.redolveAndCreate({
{provide:Person,useClass:Person},
{provide:Address,useFactory:()=>{
if(environment.production){
return new Address('北京','朝阳');
}else{
return new Address('西藏','拉萨')
}
}
},
{provide:Id,useFactory:()=>{
return Id.getInstance('idcard');
}
}
}
constructor(private oc:overlayContainer){
{provide:Person,useClass:Person},
{provide:Address,useFactory:()=>{
return()=>{
if(environment.production){
return new Address('北京','朝阳');
}else{
return new Address('西藏','拉萨')
}
}
}
},
{provide:Id,useFactory:()=>{
return Id.getInstance('idcard');
}
}
}
const childInjector=injector.resolveAndCreateChild([Person]);
prividers:[{provider:'BASE_CONFIG',useValue:'http://localhost:3000'}]
检测程序内部状态,然后反映到UI上 引起状态变化:Events、XHR、Timers ApplicationRef监听NgZone的onTurnDone,然后执行检测
@Component({
changeDetection:changDetectinStrategy.OnPush
})
constructor(private cd:ChangeDetectorRef){}
//需要检测的地方加入下列代码
this.cd.markForCheck();