在ivoked控制器方法中有一些对DOM元素的引用,其中是{{action}}帮助器声明了吗?
或者我如何获得对该DOM元素的引用?
这是代码示例。
视图中的代码,例如对标签或按钮
的操作<div class="view">
{{view Ember.Checkbox checkedBinding="isCompleted" class="toggle"}}
<label {{action editingA on="doubleClick"}}>{{title}}</label>
<button class="destroy" {{action deleteAction}}></button>
</div>
控制器中的代码,正如您所看到的,我正在标签
上 doubleClick 之后尝试关注一些元素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);
}
});
答案 0 :(得分:0)
我的问题的解决方案在 Ember.View API文档中,在名为响应浏览器事件的部分中完整地描述。
应该创建自定义视图,当我需要引用DOM元素时,声明了{{action}}帮助器的位置。引用作为调用方法的第一个参数传递。
以下是示例代码:
AView = Ember.View.extend({
click: function(event){
// will be called when when an instance's
// rendered element is clicked
}
});