ember.js - 如何访问作为 jQuery 元素的 Ember 输入?

标签 ember.js

我在 Ember 中有一个简单的表单,它提交给服务器并返回响应。如果响应失败,我想重新关注输入字段。有没有办法使用值绑定(bind)访问我的 Controller 中的字段?

以我的jsbin为例:

http://jsbin.com/umodir/1/edit

最佳答案

http://jsbin.com/efatut/2/edit

你的服务器应该返回一些东西,在你的 Controller 上设置一个你可以观察到的属性。我将其简化并称之为“错误”。

var App = Ember.Application.create();

App.ApplicationController = Ember.ObjectController.extend({
  error: false,
  submit: function() {
    alert('I want to set a focus on the email input field now...');
    this.set('error', true);
  }  
});

App.ApplicationView = Ember.View.Extend({
  focusEmail: function() {
    if (this.get('controller.error')) {
      this.$('input[type=text]').focus();
    }
  }.observes('controller.error')
});

如果你想变得非常花哨,你可以使用像 {{eb-input focuson="error"}} 这样的 Ember.Component,它会在 Controller 的“error”属性发生变化时自动聚焦。

关于ember.js - 如何访问作为 jQuery 元素的 Ember 输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17726286/

相关文章:

javascript - Ember 模型和 SQL - 在服务器上或通过 Ember 关系连接表?

javascript - Ember 和 d3v4 导入错误

javascript - 将 bootstrap-tags 包装到 Ember 组件中

ruby-on-rails - 使用 Ajax 将 CSV 文件从 Ember Js 发送到 Rails

javascript - Ember.js:每次 api 往返都会添加相同值的新部分

javascript - 如何在emberjs render方法中传递参数?

javascript - 通过获取 JSON 对象并将其推送到存储中来提供 Ember.js 模板

javascript - 将 Pretender 与 Ember CLI 结合使用

ember.js - 如何将 Coffeescript 与 Ember App Kit 一起使用?

Ember.js:包装 JQuery 组件 (Minicolors)