web-dev-qa-db-fra.com

Emberjs: récupère l'élément courant

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?

26
Andrew

Je crois que vous recherchez this.$() .

48
Jason P

Vous pouvez appeler this.get('element') pour obtenir l'élément réel.

Voir: Documentation Ember View

20
vramon

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

2
dolcalmi