【问题标题】:Emberjs: Get the current elementEmberjs:获取当前元素
【发布时间】:2012-08-04 16:55:21
【问题描述】:

我正在寻找类似于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 中获取当前元素?

【问题讨论】:

    标签: ember.js


    【解决方案1】:

    我相信你正在寻找this.$()

    【讨论】:

    • 一个问题。它返回 &lt;div class="uiMainContainerTaskListContent"&gt; 而不是当前的 &lt;div class="uiMainContainerWideItem"&gt;(这是我将操作绑定到的元素)。
    • 已解决。我在每个块内添加了视图的声明。现在它返回当前的 div。感谢您提供上述信息:)
    • 您能否提供更多详细信息,@Andrew?除了视图,我似乎什么都得不到,而不是被点击的元素。
    【解决方案2】:

    您可以调用this.get('element') 来获取实际元素。

    见:Ember View Documentation

    【讨论】:

      【解决方案3】:

      我知道这是一个老问题,但由于视图已被弃用(如果您不需要对组件进行此操作),您可以将操作传递给 dom onclick 事件并在操作的最后一个参数中获取事件 js 对象.

      请查看https://stackoverflow.com/a/37066157/2726189

      希望对你有帮助

      【讨论】:

      • 太棒了。谢谢。
      猜你喜欢
      • 1970-01-01
      • 2013-09-10
      • 2017-10-12
      • 2016-11-18
      • 2013-03-01
      • 1970-01-01
      • 2019-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多