Bir alt öğeyi özel bir olay ve onu dinlemek için ana öğeyi göndermesi ve biraz harekete geçmesini istiyorum. Polimer ile çalışırken bunu nasıl yaparım?Polimer'deki özel olayları nasıl gönderir ve dinlersiniz?
11
A
cevap
14
Böyle bir polimer-elemandan özel bir etkinlik gönderebilir:
dispatchEvent(new CustomEvent('nameOfEvent'));
Sonra üst öğe böyle özel etkinliği için dinleyebilirsiniz: Burada
<child-element on-childspeaks="fireAway"></child-element>
daha tamamlandıktan Bunun nasıl çalıştığını gösteren örnek. İlk olarak, burada alt öğe kodudur:
<!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>
Ve burada ebeveyn eleman kodudur:
<!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>
Ben Polimer Dart gelen özel bir olay yangın nasıl [ait
+0
'ObservableMixin' parçası gerekli mi? –
olası yinelenen ?] (http://stackoverflow.com/questions/18971511/how-do-i-fire-a-custom-event-from-polymer-dart) –