我从计算属性返回数组时遇到了这个奇怪的问题。我完全知道这个问题(如下),但不知道解决方案。创建了一个演示目的来解释的旋转。ember js - 从计算属性返回的值看起来缓存
案例1:https://ember-twiddle.com/9910dfea25b6fc4791e3920acca2558d?openFiles=controllers.application.js%2C
步骤:
一)检查的第一个复选框,如果我们看到的“改编”,在控制台中的值时,“newprop”属性将被添加到每个对象in“arr”
b)取消选择相同的复选框,查看控制台,同样的“arr”会以“newprop”仍然返回。 但我假设,它不会在那里,因为如果条件有检查。
所以,经过一些故障排除后,我想出了这个相同的下一个旋转。
案例2:https://ember-twiddle.com/735750b0a41c4bf87841bc79c6163259?openFiles=controllers.application.js%2C
执行相同的步骤,我们看到,这一次的“改编”没有“newprop”当复选框取消选中
的只是玩弄之间的区别是第一个数组(具有数据/模型)是在“getData”本身中定义的,第二个是从另一个计算属性“what”中获取的。
我在找什么:我需要有案例1的旋转工作,但是当复选框未被选中时,“arr”应该返回没有“newprop”的实际原始“arr”。 另外,需要了解为什么会发生。唯一改变的是直接在fn中或通过另一个计算属性获取数据。
但我已经给 “filterSet” 作为一个依赖于 “的getData” 属性,是不是正确的。这是为了确保每当filterSet发生更改时调用getData。如果这是正确的,getData总是获取“what”属性,因为this.get('what')应该始终将其取回为原始数据。请纠正我,如果错误 – whyAto8
你做了这个在旋转?因为它没有改变案例1中的问题,在旋转中。 – Craicerjack
@Craicerjack是的,我改变了旋转中的代码,它在控制台显示了我想要的结果。 – Timm