2013-09-26 15 views

Odpowiedz

14

Można wysyłką niestandardowe zdarzenie z polimeru-elementu tak:

dispatchEvent(new CustomEvent('nameOfEvent')); 

Następnie, element nadrzędny może nasłuchiwać niestandardowej imprezy jak ta:

<child-element on-childspeaks="fireAway"></child-element> 

Oto bardziej kompletny przykład pokazujący, jak to działa. Po pierwsze, tutaj jest kod dla elementu podrzędnego:

<!DOCTYPE html> 

<polymer-element name="child-element"> 
    <template> 
    <div on-click="dispatch">I am a child</div> 
    </template> 
    <script type="application/dart"> 
    import 'dart:html'; 
    import 'package:polymer/polymer.dart'; 

    @CustomTag('child-element') 
    class ChildElement extends PolymerElement with ObservableMixin { 

     dispatch(Event e, var detail, Node sender) { 
     print('dispatching from child'); 
     dispatchEvent(new CustomEvent('childspeaks')); 
     } 
    } 
    </script> 
</polymer-element> 

A oto kod dla elementu nadrzędnego:

<!DOCTYPE html> 
<link rel="import" href="child_element.html"> 
<polymer-element name="parent-element"> 
    <template> 
    <div>I am the parent</div> 
    <child-element on-childspeaks="fireAway"></child-element> 
    </template> 
    <script type="application/dart"> 
    import 'dart:html'; 
    import 'package:polymer/polymer.dart'; 

    @CustomTag('parent-element') 
    class ParentElement extends PolymerElement with ObservableMixin { 

     void fireAway() { 
     window.alert('The child spoke, I hear'); 
     } 
    } 
    </script> 
</polymer-element> 
+0

Czy wymagana jest część 'with ObservableMixin'? –

Powiązane problemy