2013-01-23 15 views
6

के साथ ईवेंट श्रोता को हटाएं मैं किसी ऐसे ईवेंट के लिए श्रोता को कैसे हटा सकता हूं जिसे मैंने पहले नए डार्ट लाइब्रेरी के साथ पंजीकृत किया था?नई लाइब्रेरी

मैं नए पुस्तकालय के साथ घटनाओं के लिए सुनने के लिए इस का उपयोग कर रहा:

element.onMouseMove.listen 

इस के बराबर संस्करण क्या है?

element.on.mouseMove.remove 

उत्तर

12

element.onMouseMove.listen(...) एक StreamSubscription देता है। ईवेंट प्राप्त करना बंद करने के लिए बस अपनी cancel() विधि पर कॉल करें।

14

एलेक्जेंडर के जवाब के अलावा, कोड में एक ठोस उदाहरण इस प्रकार दिखाई देगा:

import 'dart:html'; 

void main() { 
    var listener = (e) => print("Moved"); 

    var element = query("#text"); 
    var streamsub = element.onMouseMove.listen(listener); // <--- add the listener 

    var reverseText= (Event event) { 
    var text = query("#text").text; 
    var buffer = new StringBuffer(); 
    for (int i = text.length - 1; i >= 0; i--) { 
     buffer.add(text[i]); 
    } 
    query("#text").text = buffer.toString(); 

    streamsub.cancel(); // <---- stop listening 
    }; 

    element 
    ..text = "Click me!" 
    ..onClick.listen(reverseText);  
} 
यह प्रिंट "ले जाया गया"

जब तुम पर माउस ले जाते हैं "मुझे क्लिक करें!" पाठ (मानक डार्ट नमूना से)। क्लिक करते समय, यह बंद हो जाता है।