【发布时间】:2016-06-08 18:57:12
【问题描述】:
以下示例取自聚合物飞镖documentation on behaviors。它利用了toggleHighlight 中的set 方法。我不明白这是怎么可能的,因为set 没有在任何地方定义。
@behavior
abstract class HighlightBehavior {
@Property(notify: true, observer: 'highlightChanged')
bool isHighlighted = false;
static created(instance) {
print('Highlighting for $instance enabled!');
}
@Listen('click')
toggleHighlight(_, __) {
set('isHighlighted', !isHighlighted);
},
@reflectable
highlightChanged(bool newValue, _) {
toggleClass('highlighted', newValue);
}
}
如何在触发所有使数据绑定工作的功能的行为中设置聚合物属性?
一个行为是否应该实现PolymerBase 才能使用set 方法?快速测试表明,当行为实现 PolymerBase 时,set 有效。但这不是它的记录方式。我可以通过实现PolymerBase 来引发一些不需要的副作用吗?
【问题讨论】:
标签: dart-polymer