我这是在构造函数运行之前设置以下配置对象:
config: Object = {
onSlideChangeEnd : function(slide:any) {
this.currentSlideIndex = slide.activeIndex;
}
};
我要通知变化的服务,问题是,当配置设置服务尚不可用:
constructor(private user: UserService,
private layout: LayoutService) {
}
我怎样才能通知该变量变化的服务?
那么,作为建议使用观测量,这是不是真的这么大的麻烦,那很好。这不是比实际几行。
声明中一些常见的服务,他们为同一个共享服务,e.g声明为模块提供商的服务,让您不相同服务的两个实例结束。一个Subject
添加到该服务并发出值的方法:
public configObservable = new Subject<number>();
emitConfig(val) {
this.configObservable.next(val);
}
而在组件需要设置的配置:
emit(val) { // your value you want to emit
this.myService.emitConfig(val);
}
然后订阅在你需要它的价值:
constructor(private myService: MyService) {
this.myService.configObservable.subscribe(value => {
this.value = value;
})
}
工作plunker在一个亲子互动上面的代码:
至于你约@Input()
评论,说效果很好,当父组件的亲子互动,这样,才不会真正为你在这种情况下工作。