以下示例取自聚合物飞镖documentation on behaviors。它使用了set
中的toggleHighlight
方法。我不明白这是怎么可能的,因为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
- 方法?快速测试表明,set
在行为实现PolymerBase
时有效。但这不是它的记录方式。我可以通过实施PolymerBase
?
答案 0 :(得分:0)
HighlightBehavior
是抽象的,因此通过继承获得真实实例。从文档
class MyElement extends PolymerElement with HighlightBehavior {
MyElement.created() : super.created();
}
PolymerElement
扩展PolymerBase
,提供set
方法。