我在寫一個簡單的服務來設置和獲取對象的值。代碼將值發送給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
}
}
在我看來,我有一個按鈕,調用next()的或後()來更新的位置。
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')',但該方法僅針對兩個輸入參數定義。 –
@alex,我試圖簡化代碼,並有可能通過一些清理遺漏。 – iMad