如何强制听取聚合物手势事件

时间:2015-11-18 17:16:08

标签: dart dart-polymer polymer-1.0

我构建了一个使Polymer元素可拖动的行为,但是当我强制添加事件监听器时,它不会被调用。

abstract class DraggableBehavior implements PolymerBase, dom.Element {
  void attached() {
    super.attached();
    this.on['track'].listen(_dragHandler);
  }

  void _dragHandler(dom.CustomEvent event, [_]) {
    print(event.type);
  }
}

只要我添加on-track="someOtherTrackHandler"(请注意事件处理程序的不同名称)dragHandler被调用就好了。

只有在强制添加事件处理程序时,Polymer才会启用聚合物手势事件。

有解决方法吗?

1 个答案:

答案 0 :(得分:0)

使用Polymer API(listen)中的PolymerBase代替

void attached() {
  super.attached();
  listen(this, 'track', 'dragHandler');
}

@reflectable
void dragHandler(dom.CustomEvent event, [_]) {
  print(event.type);
}