this
の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')
を呼び出して、実際の要素を取得できます。
私は古い質問を知っていますが、ビューは非推奨であるため(そしてコンポーネントにこれが必要ない場合)、アクションをdom onclickイベントに渡して、アクションの最後のパラメーターでイベントjsオブジェクトを取得できます。
確認してください https://stackoverflow.com/a/37066157/2726189
それが役に立てば幸い