Je recherche quelque chose qui ressemble au this
du jQuery
. Je vais lister ci-dessous le code que j'ai:
<script type="text/x-handlebars" data-template-name="uiMainContainerTaskList">
<div class="uiMainContainerTaskListContent">
{{#view App.TasksView}}
{{#each App.tasksController.tasks}}
<div class="uiMainContainerWideItem" {{action "taskClick" target="TasksView" on="click"}}>
<div class="uiMainContainerWideItemCheckbox">{{view Em.Checkbox checkedBinding="isDone"}}</div>
<div class="uiMainContainerWideItemText uiMainContainerWideItemTaskName">{{taskName}}</div>
<div class="uiMainContainerWideItemText uiMainContainerWideItemTaskDescription">{{taskDescription}}</div>
<div class="uiMainContainerWideItemText uiMainContainerWideItemTaskPriority">{{priority}}</div>
<div class="uiMainContainerWideItemText uiMainContainerWideItemTaskDueDate">{{dueDate}}</div>
</div>
{{/each}}
{{/view}}
</div>
</script>
Je lie l'action taskClick
au div.uiMainContainerWideItem
. Dans mon View
j'ai:
App.TasksView = Em.View.extend({
templateName: 'uiMainContainerTaskList',
taskClick: function(e) {
console.log($(this));
}
});
Dans jQuery
, $(this)
serait l'élément courant (pas d'enfants). Existe-t-il un moyen d'obtenir l'élément actuel dans Ember également?
Je crois que vous recherchez this.$()
.
Vous pouvez appeler this.get('element')
pour obtenir l'élément réel.
Voir: Documentation Ember View
Je sais que c'est une vieille question, mais comme les vues sont obsolètes (et si vous n'en avez pas besoin pour un composant), vous pouvez passer l'action à l'événement dom onclick et obtenir l'objet événement js dans le dernier paramètre de l'action.
Veuillez vérifier https://stackoverflow.com/a/37066157/2726189
j'espère que ça aide