1

所以我一直遇到这个问题,我似乎无法从我的模板中获取值到我的视图对象。

例如,采用此登录表单:

App.AuthSignInView = Ember.View.extend
  templateName: 'auth/sign_in'

  email:    null
  password: null

  submit: (event, view) ->
    event.preventDefault()
    App.Auth.signIn
      data:
        email:    @get 'email'
        password: @get 'password'

这个模板:

<form>
  <div class="control-group">
    <label class="control-label" for="email">Email</label>
    <div class="controls">
      {{view Ember.TextField valueBinding="email"}}
    </div>
    <div class="controls">
      {{view Ember.TextField type="password" valueBinding="password"}}
    </div>
  </div>
  <button class="btn btn-inverse">Sign In</button>
</form>

当视图在提交时尝试访问电子邮件和密码属性时,它们仍然为空。我确定我在这里做错了一些简单的事情,但我不确定是什么。

4

1 回答 1

4

虽然让应用程序的视图保持状态不是一个好习惯,但所有相关逻辑都应该在控制器中完成,这是模板中定义的值的默认查找位置。但是如果你真的需要你的值在你的视图上,你应该在你的模板中加上值绑定前缀,view.email让它view.password使用你视图上的值。

有关使用该方法的工作jsbin ,请参见此处。view

这里有一个示例jsbin使用controller这是推荐的方式。

希望能帮助到你。

于 2013-07-05T14:32:25.243 回答