2012-02-20 18 views
3

質問:クリックすると、evt.target.attributesがすべての属性を配列に格納することがわかります。特定の属性値を取得するためにすべての属性を反復する必要がなく、より簡単な方法がありますか?この例では、クリックされた要素の 'note'属性の値が必要です。Emberjs - クリックした要素の属性を取得

テンプレート:

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

クリックハンドラ(遊び):

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

答えて

6

コントローラは、ビューを支持していない場合は、一つの解決策は、jQueryオブジェクト

にイベントターゲットを有効にすることです
play : function(event) { 
    var note = $(event.target).attr("note"); 
    // More code here 
} 
0

もう1つの方法は、属性値をパラメータとしてアクションに渡すことです。

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

そして、あなたはこのようにそれにアクセスすることができます。

... 
actions: { 
    play(note) { 
     console.log(note); 
    }, 
}, 
... 
関連する問題