0
私のモデルの状態を追跡するために使用しているサービスがあります。私はこのサービス変数のプロパティにアクセスしたいと思う複数のコンポーネントがあります。最初のコンポーネントがinitにロードされるとき、私はモデルを設定しましたが、ルート変更後に2番目のコンポーネントからこのモデルにアクセスしようとすると、変数は未定義になりました。以下は、私が話していることの例です。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