web-dev-qa-db-ja.com

Emberjs:現在の要素を取得する

thisjQueryに似たものを探しています。私が持っているコードの下にリストします:

_<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でも現在の要素を取得する方法はありますか?

26
Andrew

this.$() を探していると思います。

48
Jason P

this.get('element')を呼び出して、実際の要素を取得できます。

参照: Ember View Documentation

20
vramon

私は古い質問を知っていますが、ビューは非推奨であるため(そしてコンポーネントにこれが必要ない場合)、アクションをdom onclickイベントに渡して、アクションの最後のパラメーターでイベントjsオブジェクトを取得できます。

確認してください https://stackoverflow.com/a/37066157/2726189

それが役に立てば幸い

2
dolcalmi