我希望得到旧的步骤值,而不是我点击提交后的最新值,在我的init()上我有这段代码
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 (打开控制台以确认结果。)