Come accedere agli attributi o ai metodi delle istanze di elementi polimerici
-
21-12-2019 - |
Domanda
Ho definito un nuovo elemento polimerico.
<polymer-element name="m-test">
<template>
...
</template>
<script type="application/dart" src="m-test.dart"></script>
</polymer-element>
.
@CustomTag('m-test')
class Mtest extends PolymerElement {
@observable int myAttr = 0;
...
void myMethod()
.
Come posso accedere all'attributo myAttr
o chiamare il metodo myMethod
per un'istanza di questo elemento nel mio programma DART principale.
<m-test id="mt1"></m-test>
<m-test id="mt2"></m-test>
. Soluzione
È possibile accedere ai tuoi attributi in Markup
<m-test id="mt1" my-attr="5"></m-test>
.
o nel codice
querySelector('#mt1').myAttr = 5; // produces a warning in the editor
querySelector('#mt1').myMethod(5); // - " -
(querySelector('#mt1') as Mtest).myAttr = 5; // may fail at runtime due to bug https://code.google.com/p/dart/issues/detail?id=15953
(querySelector('#mt1') as Mtest).myMethod(5); // - " -
.
È inoltre possibile accedere ai gestori di eventi
void clickHandler(event, detail, target) {
// handle event
}
.
<polymer-element name="m-test">
<template>
<button on-click="{{clickHandler}}">{{myAttr}}</button> // caption from myAttr
</template>
<script type="application/dart" src="m-test.dart"></script>
</polymer-element>
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow