0

在 ivoked 控制器方法中是否有一些对 DOM elem 的引用,在其上声明了 {{action}} 助手?

或者我怎样才能获得对该 DOM 元素的引用?

这是代码示例。

  1. 视图中的代码,例如标签按钮上的操作

    <div class="view">
        {{view Ember.Checkbox checkedBinding="isCompleted" class="toggle"}}
        <label {{action editingA on="doubleClick"}}>{{title}}</label>
        <button class="destroy" {{action deleteAction}}></button>
    </div>
    
  2. 控制器中的代码,如您所见,我在双击标签后尝试关注一些元素

    App.TodoController = Ember.ObjectController.extend({
    
        isEditing: false,
    
        editingA: function() {
            this.set('isEditing', true);
            // $(this).focus();
            // How to get reference to label DOM elem
        },
    
        updateAction: function() {
            var todo = this.get('model');
    
            this.get('store').commit();
    
            this.set('isEditing', false);
        }
    
    });
    
4

1 回答 1

0

我的问题的解决方案在Ember.View API 文档中被完整地描述,在名为RESPONDING TO BROWSER EVENTS的部分中。

当我需要引用 DOM 元素时,应该创建自定义视图,其中声明了 {{action}} 助手。引用作为第一个参数传递给被调用的方法。

这是示例代码:

AView = Ember.View.extend({
  click: function(event){
    // will be called when when an instance's
    // rendered element is clicked
  }
});
于 2013-04-16T18:08:11.030 回答