Ответ 1
Я считаю, что вы ищете this.$()
.
Я ищу что-то похожее на this
of jQuery
. Я приведу список ниже кода, который у меня есть:
<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>
Я привязываю действие taskClick
к div.uiMainContainerWideItem
. В моем View
у меня есть:
App.TasksView = Em.View.extend({
templateName: 'uiMainContainerTaskList',
taskClick: function(e) {
console.log($(this));
}
});
В jQuery
, $(this)
будет текущий элемент (без детей). Есть ли способ получить текущий элемент в Ember?
Я считаю, что вы ищете this.$()
.
Вы можете вызвать this.get('element')
, чтобы получить фактический элемент.
Смотрите: Документация Ember View
Я знаю, это старый вопрос, но поскольку представления устарели (и если вам это не нужно для компонента), вы можете передать действие в событие dom onclick и получить объект js события в последнем параметре действия,
Пожалуйста, проверьте fooobar.com/info/236409/...
надеюсь, что это поможет