0
我有一個服務用於跟蹤我的模型的狀態。我有多個組件,我想訪問此服務變量屬性。當第一個組件加載到init時,我設置了模型,但是當我嘗試從路由更改後的第二個組件訪問此模型時,該變量現在是未定義的。以下是我正在談論的一個例子。Angular2在路由更改時重置服務變量
組件1個
constructor(private service: Service, private route)
ngOninit(){
this.service.setModel();
console.log(this.service.getModel()); <-- works fine
}
componentButton1Click(){
route.navigateByUrl(component2route) <--works fine
}
組件2
constructor(private service: Service)
ngOninit(){
console.log(this.service.index); <-- undefined
}
服務
private index: number;
constructor(private http: Http)
getModel(){
return this.index; <-- works fine
}
setModel(){
this.index = this.http.get('somejsonfile.json').index;
}
這是它的一部分!我有全球的服務,並在多個模塊提供商,所以我把它從一切,只是把它放在app.module。當我能夠時, – Monzingo
將在幾分鐘內接受答案 – Monzingo