Ember.js 登录失败时的余烬焦点输入?
在开始这个问题之前,我发现了一些类似于我所寻找的东西: 这种方法的问题是,Ember.js 登录失败时的余烬焦点输入?,ember.js,Ember.js,在开始这个问题之前,我发现了一些类似于我所寻找的东西: 这种方法的问题是,视图中的focusEmail()方法只有在控制器的error属性从false变为true时才会第一次被调用。如果我再次提交表单,则错误仍然为真,因此在某种意义上它没有改变,因此视图的focusEmail()不会被触发 我可以在这里做些什么来始终聚焦输入元素,而不仅仅是第一次当错误从false变为true时 我的代码 注意:只要从服务器发送非200响应,就会触发loginFailed。(我正在使用ember simple a
视图中的focusEmail()
方法只有在控制器的error
属性从false变为true时才会第一次被调用。如果我再次提交表单,则错误
仍然为真,因此在某种意义上它没有改变,因此视图的focusEmail()
不会被触发
我可以在这里做些什么来始终聚焦输入元素,而不仅仅是第一次当错误从false变为true时
我的代码
注意:只要从服务器发送非200响应,就会触发loginFailed
。(我正在使用ember simple auth库)
更新:我能够使用LoginView中的submit
方法使其工作。除上述内容外:
submit: function() {
this.get('controller').send('error', false);
},
然后在控制器中:
error: function(value) {
this.set('error', value);
}
如果有人有更好、更简单、更容易的方法,请将其发布在下面,我会接受它作为答案。您是否尝试过使用notifyPropertyChange将错误属性显式标记为已更改?
就我个人而言,我更喜欢您的上一个解决方案,如果我必须实施它,我也会做同样的事情。您可能应该在重新提交时清除错误
error: function(value) {
this.set('error', value);
}