Domanda

Domanda: Fare clic su, vedo che evt.target.attributi di negozi di tutti gli attributi in un array.C'è un modo più semplice, senza dover scorrere tutti gli attributi per ottenere un certo valore di attributi?In questo esempio ho bisogno di un valore di la 'nota' attributo dell'elemento cliccato.

Modello:

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

Fare clic su gestore(play):

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

Soluzione

Se un controller non sta sostenendo la vista, una soluzione è trasformare il bersaglio dell'evento in un oggetto jQuery

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

Altri suggerimenti

Un altro modo è quello di passare il valore dell'attributo come parametro per l'azione.

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

È possibile accedere come questo:

...
actions: {
    play(note) {
        console.log(note);
    },
},
...
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top