我使用filter
方法过滤我网站上的信息。
this.result.combos = this.result.combos.filter(....);
我制作了一个reset
按钮,以便我可以还原这些更改并将所有内容还原为原始数据而不使用过滤器。
我进行API调用以制作我的数据,并使用2个变量保存data
已恢复:result
和freshData
。
我在filter
上制作result
,当我调用revert()
方法时,我会这样做:
revert() {
this.result = this.freshData;
}
可悲的是,它不起作用,因为两者都绑定到收到的data
正在发生变化 - 这意味着我无法恢复filter
更改。
我如何重置它们?
答案 0 :(得分:0)
问题是您正在修改this.result.combos
,这也正在改变this.freshData.combos
引用。为避免这种情况,请在过滤之前创建一个变量来保存对原始combos
列表的引用:
this.freshCombos = this.result.combos;
然后在你的还原功能中:
revert() {
this.result.combos = this.freshCombos;
}