2014-10-29 4 views
1

ElementList에 명시 적 접근자가없는 이벤트를 수신 할 수 있습니까?명시 적 접근자가없는 ElementList의 이벤트 수신

예를 들어 나는 하나의 요소에서 다음을 수행 할 수 있습니다 그러나

this.querySelector(".js-popover-link").on["on-tap"].listen((event) { 
    print("Event Triggered"); 
}); 

을, 다음은 높이 요소가 querySelectorAll에서 반환 가능하지 않다 :

this.querySelectorAll(".js-popover-link").on["on-tap"].listen((event) { 
    print("Event Triggered"); 
}); 

간단한 있는가 이 일을하는 방법?

답변

1
List<StreamSubscription> _subscriptions = <StreamSubscription>[]; 

this.querySelectorAll(".js-popover-link") 
.forEach((e) { 
    _subscriptions.add(e.on["on-tap"].listen((event) { 
    print("Event Triggered"); 
    })); 
}); 

...

_subscriptions.forEach((s) => s.cancel()); 
+0

감사합니다. 리스너가 한 번의 호출로 취소 될 수 있도록 단일 StreamSubscription을 반환하는 방법이 있습니까? – mark

+0

내가 할 수있는 통합 된 방법이 없다. 간단한 해결 방법으로 내 대답을 업데이트했습니다. –

+0

감사. 그것이 내가 생각할 수있는 유일한 방법이었습니다. – mark