Question

Question: Lors d'un clic, je vois que evt.target.attributes stocke tous les attributs dans un tableau.Existe-t-il un moyen plus simple sans avoir à itérer tous les attributs pour obtenir une certaine valeur d'attributs?Dans cet exemple, j'ai besoin de la valeur de l'attribut 'note' pour l'élément sur lequel vous avez cliqué.

Modèle:

<a note="C" {{action "play" on="click"}}>></a>

Gestionnaire de clics (lecture):

var keys = Ember.View.create({
    templateName: 'keys',
    notes: this.get('allKeys'),
    play:function(evt){
        var attributes= evt.target.attributes;
        console.log(attributes);
    }
Était-ce utile?

La solution

Si un contrôleur ne sauvegarde pas la vue, une solution consiste à transformer la cible d'événement en objet jQuery

play : function(event) {
    var note = $(event.target).attr("note");
    // More code here
}

Autres conseils

Another way is to pass the attribute value as parameter to the action.

<a note="C" onClick={{action "play" value="target.note"}}></a>

And you can access it like this:

...
actions: {
    play(note) {
        console.log(note);
    },
},
...
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top