Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 登录失败时的余烬焦点输入?_Ember.js - Fatal编程技术网

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);
}