2015-11-18 48 views
0

我構建了一個使聚合物元素可拖動的行爲,但是當我強制添加事件監聽器時,它不會被調用。如何聆聽聚合物手勢事件勢在必行

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只有在事件處理程序被強制添加時纔會啓用聚合物手勢事件。

是否有解決方法?

回答

0

從聚合物API使用listenPolymerBase),而不是工作

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

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