Как я могу получить объект целевого элемента, на котором был запущен событие клика. Для, например, если у меня есть шаблон, как:получить элемент действия цели в ember
<table>
<tr>
<th {{action "someAction"}} >Type</th>
</tr>
</table>
и в моем контроллере я соответствующее действие определяется как:
action:{
someAction : function(){
//get the th element object
}
}
Похоже, объект события не прошло, потому что я пытался
action:{
someAction : function(event){
//event is undefined!
}
}
ОБНОВЛЕНИЕ: Благодарности Márcio и Jeremy. У меня теперь есть рабочее решение. Мой шаблон выглядит следующим образом:
<thead>
{{#view AS.MyView sortBy="value"}}Value{{/view}}
</thead>
мой взгляд выглядит следующим образом:
AS.MyView = Ember.View.extend({
attributeBindings: ['sortBy'],
classNames: ['sortable'],
tagName: 'th',
click: function(evt) {
var target = evt.target, self = this;
this.get('controller').send('setSort',$(target).attr('sortBy'));
$(target).parent().find('th').removeClass('desc').removeClass('asc');
$(target).addClass(self.get('controller.sortAscending')?'asc':'desc');
}
});
Можете ли вы объяснить, что вы хотите сделать с элементом, может быть, есть другой способ сделать это. Например, если речь идет о стилизации, это можно сделать с помощью классаNameBinding ... –
Вы правы, я хотел установить стиль на th-элемент на основе щелчка. Я хотел бы выполнить сортировку таблицы сортировки так, чтобы, когда пользователь нажимал на какой столбец и какой порядок, я хотел изменить стиль. Я дам view classNameBinding попытку. Благодарю. –