Angular 2 - 获取旧值

时间:2017-05-24 03:47:18

标签: angular

我希望得到旧的步骤值,而不是我点击提交后的最新值,在我的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']。在被推之前如何获得旧价值。

1 个答案:

答案 0 :(得分:1)

变化

this.currentSteps = this.steps;

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

Array.slice()将为您的数组创建一个新实例。

Plunker demo (打开控制台以确认结果。)