我正在寻找与this
的{{1}}类似的内容。我将在下面列出我的代码:
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
将是当前元素(无子代)。有没有办法在Ember中获取当前元素?
答案 0 :(得分:48)
我相信您正在寻找this.$()
。
答案 1 :(得分:20)
您可以致电this.get('element')
获取实际元素。
答案 2 :(得分:2)
我知道这是一个老问题,但由于视图已被弃用(如果您不需要这个视图),您可以将操作传递给dom onclick事件并在操作的最后一个参数中获取事件js对象。
请检查https://stackoverflow.com/a/37066157/2726189
希望有所帮助