我的控制器中有以下操作:
actions:{
doSomething:function(a){console.log("do something",a)}
}
在我的模板中,我有:
{{input value=50 name=variableName action="doSomething" on="input"}}
但是,当我更改输入值时,即输入或删除占位符值50时,函数永远不会触发。
我做错了什么以及如何获得输入框的更改值?
注意:我使用on="input"
因为我想在输入值更改时执行某些操作,但请告诉我是否应该使用其他事件。使用key-press
会导致方法触发,但打印到控制台的输入值是'before-any-changes'输入值。有人输入字段后我需要输入值。我尝试使用key-up
,但该方法无法触发。
答案 0 :(得分:2)
在variableName
上使用观察者,只要它发生变化就会触发该功能,
onInput: function() {
// do something
}.observes('variableName')
请参阅指南了解更多详情http://guides.emberjs.com/v1.11.0/object-model/observers/