Je veux qu'un composant Marko.js émette un événement avec une valeur, je veux ensuite que le composant contenant écoute l'événement et accède à la valeur.Manière correcte d'émettre de la valeur avec Marko.js
J'ai un composant simple bouton qui ressemble à ceci:
class {
doSomething() {
this.emit('buttonClicked', {someValue:'10'});
}
}
<button.example-button on-click('doSomething')>Click me!</button>
Le composant contenant ressemble alors à ceci ...
class {
\t onButtonClicked(data){
\t \t console.log("I heard event:" + data.someValue);
\t }
}
<div class="button-manager">
<my-button on-buttonClicked('onButtonClicked') />
</div>
Cela fonctionne et enregistre correctement l'événement avec la valeur. Cependant, je suis un peu confus que je me attends à la syntaxe dans le conteneur pour référencer les arguments transmis dans l'écouteur d'événement ... comme ça ...
<div class="button-manager">
<my-button on-buttonClicked('onButtonClicked', data) />
</div>
Cependant que des traces ensuite un objet vide. Si je mets une chaîne comme argument, cette chaîne est enregistrée et écrase l'argument de données d'origine transmis par l'émetteur.
Est-ce le comportement souhaité?