在polymer.dart中更新动态计算属性

时间:2014-12-09 09:40:34

标签: dart dart-polymer

我有一个场景,我有一个使用polymer.dart数据绑定的属性,但它没有自己的支持字段。相反,它在运行时由逻辑动态评估,逻辑依赖于许多其他内部条件。因此,当其他逻辑指示我想告诉数据绑定更新值。在C#/ XAML中,NotifyPropertyChange不要求您传递旧值和新值,因此很容易解决此问题。但是在polymer.dart中我们确实需要始终传递旧值和新值,这对于动态评估的属性是不可能的(或者至少由于性能原因而不是优选的)。我们如何在polymer.dart中处理这个问题?

这是一个伪示例。问题是我应该把它放在???字段?

class MyBoundClass extends Observable {

    void run() {
        ... logic, sets values in several internal non-observable objects...
        notifyPropertyChange(#status, ???, ???);
    }

    String get status {
        result = ... logic, evaluates values from several internal non-observable objects...
        return result;
    }
}

我想一个解决方案是简单地在MyBoundClass中引入另一个支持字段。但我真正想要的只是更新绑定,我不明白为什么需要传递旧值。在我看来,如果你只是想更新绑定,那么旧值是不相关的?

1 个答案:

答案 0 :(得分:1)

null作为旧值传递。