Ember.TextField valueBinding with keyUp Override

mli*_*nau 3 ember.js

重写keyUp函数时,为什么TextField valueBind不正确?这里的示例http://jsfiddle.net/z5SNW/3/.基本上每当按下enter或用户单击按钮时,我都会警告TextField的值.问题是按下按钮不会显示实际值,直到您从文本字段中聚焦,然后单击按钮.

我可以通过将一个else放入keyUp函数并在那里设置值来破解它,但这对我来说似乎不对.我想我只是缺少一些非常简单的东西.

pan*_*atz 7

通过覆盖keyUpTextField的值仅在change事件被触发时设置(焦点丢失时),请参阅代码.

如果您使用可insertNewline用于处理输入,一切正常:http://jsfiddle.net/z5SNW/6/.

App = Ember.Application.create({});

App.TextField = Em.TextField.extend({
    valueBinding: 'App.TextValue.value',
    insertNewline: function() {
        alert('Submitted: ' + App.TextValue.get('value'));
    }
});

App.TextValue = Em.Object.create({
    value: ''
});

App.SubmitButton = Em.Button.extend({
    click: function() {
        alert(App.TextValue.get('value'));
    }
});?
Run Code Online (Sandbox Code Playgroud)

或者你保持你的实现keyUp(如果你计划在其他keyCode上行动,但是你必须打电话this.interpretKeyEvents(event);,请参阅http://jsfiddle.net/z5SNW/8/.