Javascript 如何避免在使用Angular2保存数据之前,将弹出窗口中输入的数据反射到表中
我有一个编辑弹出窗口,当弹出窗口打开,我编辑,它反映在表上。我必须避免反射,一旦我点击保存按钮,那么只有编辑的部分必须显示在表上。我只能对一个输入执行此操作,我不知道如何对其他两个输入执行相同的操作 //TsJavascript 如何避免在使用Angular2保存数据之前,将弹出窗口中输入的数据反射到表中,javascript,angular,typescript,Javascript,Angular,Typescript,我有一个编辑弹出窗口,当弹出窗口打开,我编辑,它反映在表上。我必须避免反射,一旦我点击保存按钮,那么只有编辑的部分必须显示在表上。我只能对一个输入执行此操作,我不知道如何对其他两个输入执行相同的操作 //Ts 组件上必须有两个不同的属性,引用两个不同的对象实例。做几件事: 步骤1:单击“编辑”,复制表格行(所有道具),并将其置于模式中。保留引用,例如您正在编辑的表行或_id或其他内容 在您的情况下,向TutorialComponent添加一个名为currentlyEditing:any的属性。然
组件上必须有两个不同的属性,引用两个不同的对象实例。做几件事: 步骤1:单击“编辑”,复制表格行(所有道具),并将其置于模式中。保留引用,例如您正在编辑的表行或_id或其他内容 在您的情况下,向TutorialComponent添加一个名为
currentlyEditing:any
的属性。然后,修改editTutorial方法:
editTutorial(tutorial) {
this.editTutorials.show();
this.currentlyEditting = tutorial;
}
第2步:编辑那些不应反映在表上的内容。继续编辑你的东西
步骤3:保存后,将更改同步回表,或者更确切地说,同步回表中显示的原始数据集。这就是为什么您需要步骤1中的参考
现在,我不清楚您的编辑组件是否是保存更改的组件。但如果是的话,我想一切都会按原样进行。如果没有,您必须在保存并响应“success”后,在
tutorials
数组中找到原始教程,并将其替换为已编辑的组件。您正在将tutorial
值从表中发送到edit\u tut
变量中,该变量用作双向绑定
因此,表中的数据随着您的输入而改变。
解决方案可以是更改变量引用
,您可以执行以下操作:
editTutorial(tutorial) {
this.editTutorials.show();
let tut = JSON.parse(JSON.stringify(tutorial))
this.edit_tut = tut;
}
这将更改值引用
,并对您有效。是的,我已经完成了这些操作,但我想保持表格不变,而不反映我打字时的情况,但显然您没有这样做。你能显示整个组件文件吗?是的,我已经更新了完整的ts文件,请看一下
editTutorial(tutorial) {
this.editTutorials.show();
let tut = JSON.parse(JSON.stringify(tutorial))
this.edit_tut = tut;
}