sproutcore - 观察数组项属性

时间:2011-11-28 20:34:26

标签: key-value-observing sproutcore

我得到了一个属性为x的模型,我拿着一个带模型的数组控制器。 我需要计算与数组中每个x相关的内容,这样每个项目中数组项或x属性的每次更改都应该触发计算。

如何制作此计算属性?

2 个答案:

答案 0 :(得分:1)

您是否尝试过如此指定您的财产?

newProperty: function() {
    // body goes here
}.property('[]').cacheable()

'[]'规范观察数组的内容。

答案 1 :(得分:1)

如果您需要在数组中的任何项目上的属性发生更改时重新计算数组中的对象,则可以选择几个选项。

1)使用RangeObserver。请注意,如果执行此操作,您将更新观察者观察到的索引。查看源代码,包括测试,以了解如何使用它。

2)自己滚动,即手动为阵列中的每个项添加一个观察者。同样的警告适用于这种方法。

3)计算属性很好,但这种情况非常复杂。您可能希望从UI激活事件(如果可能,可能对您的设置没有意义),只需手动重新计算。