我有一个场景,我有一个使用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中引入另一个支持字段。但我真正想要的只是更新绑定,我不明白为什么需要传递旧值。在我看来,如果你只是想更新绑定,那么旧值是不相关的?
答案 0 :(得分:1)
将null
作为旧值传递。