2017-05-24 32 views
-1

我想要得到的步驟舊值,而不是最新之後我點擊了提交,我的init()我有這樣的代碼角2 - 獲取舊值

export class BakingProcedureItemComponent implements OnInit { 
    steps: Array<string> = []; 

    ngOnInit() { 

     this.steps.push("test"); 
     this.currentSteps = this.steps; 
     if(!this.isNew){ 
      this.service.get(id).subscribe(item => { 
       this.steps = item; 
      }); 
     } 
    } 

    onSubmit({value, valid}: {value: BakingProcedure, valid: boolean}): void { 
     console.log(this.currentSteps); //output ['test'] not [] 
    } 
} 

它輸出最新值不是['test']。如何在推動之前獲得舊價值。

+0

複製陣列,例如。 –

回答

1

變化

this.currentSteps = this.steps; 

this.currentSteps = this.steps.slice(0); 

Array.slice()將爲您的數組一個新的實例。

Plunker demo使用`slice`(開放控制檯來確認的結果。)

+0

檢查另一個樣本,只是想要舊的價值,就像在PHP –

+0

@StormSpirit你試過我的建議,因爲它們是一樣的。 – Pengyy

+0

謝謝,你有任何想法,如果它是'字符串' –