Ember.js输入动作获取元素

时间:2014-07-17 00:44:35

标签: ember.js

对不起,我无法弄清楚这么基本的东西,不得不在这里问一下,但是在newUser回调函数中,我如何得到对该输入元素的引用?

{{input action="newUser"}}

我试过param=this this.$() this.get('element')在Ember 1.7中没有任何效果

2 个答案:

答案 0 :(得分:2)

你可以尝试

this.$('input')

将返回一个jQuery样式的元素集,您可以在其上执行更多jQuery类型的事情,或者

this.get('element').querySelector('input')

this.get('element')将返回视图元素,因此您需要向下搜索它以查找输入元素,无论是通过上面的标记名,还是通过其他选择机制(如id或class)。

但是,这假定在视图中定义了操作,其中定义了this.$this.get('element')。如果在控制器或路径上定义了操作,它将无法工作。在视图上有一个动作处理程序是一个常见的Ember模式,它执行与视图相关的操作,然后向控制器发送一些操作,以便它执行与控制器相关的操作。

但是,如果您尝试检索输入元素只是为了清除其值,那么只需修改绑定到输入元素值的属性,就可以更轻松地完成此操作。

答案 1 :(得分:1)

您甚至不需要对元素的引用来清除它。只需使用数据绑定:

http://emberjs.jsbin.com/telat/1/edit