オブジェクトの値を設定して取得する簡単なサービスを作成しています。コードはsetterに値を送信しますが、次にコードを取得するときには値は変わりません。コードを見て、私が逃していることを教えてください。 (私はこの短いを維持するために、すべてのコンポーネント・ヘッダと輸入を含んでいなかった。)私の見解で角度サービスはオブジェクトの値を更新しません
//service.ts
export class NavService {
private location;
constructor(){
this.location = {
next:'',
back: ''
}
}
setLocation(back:string, next:string){
this.location.next = next;
this.location.back = back;
}
getLocation(){
return this.location
}
}
を、Iは位置を更新する)(次の()またはバックを呼び出すボタンを有しています。
export class PlanComponent {
location;
currentPage : string = 'start';
constructor(private nav:NavService){}
forward(){
this.location = this.nav.getLocation();
this.currentPage = this.location.next;
}
}
新しい場所が新しいコンポーネントを読み込んでいます。新しいコンポーネントは、新しい場所を設定することを想定しています。しかし、親コンポーネントでは、場所を取得しようとすると、私は同じ古い値を取得します。
export class AboutComponent {
constructor(private nav: NavService){
this.nav.setLocation('start', 'about');
}
}
本当にありがとうございました!
これはタイプミスであるかどうかを確認しますが、あなたは存在しないメソッドを呼び出したかのように、それは私には見えません。 'this.nav.setLocation( 'start'、 'about'、 'family')'を呼び出しますが、このメソッドは2つの入力パラメータに対してのみ定義されています。 –
@alex、私はコードを簡素化しようとしていたし、いくつかのクリーニングが残っていた可能性があります。 – iMad