2013-07-05 3 views
1

그래서 내 템플릿에서 뷰 객체로 값을 가져올 수없는이 문제가 발생했습니다.Ember 값 바인딩이 뷰 객체에서 작동하지 않습니다.

예를 들어,이 로그인 절차의 형태를 취할 :

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> 

을보기가 제출의 이메일과 비밀번호 속성에 액세스하려고 할 때, 그들은 여전히 ​​null입니다. 나는 여기서 뭔가 잘못하고 있다고 확신하지만, 나는 무엇을 확신하지 못한다.

+0

그냥 내 바인딩을 테스트 할 수 있도록 제출을 포함하도록 예를 편집했습니다. – intuitivepixel

답변

4

앱의 뷰 상태를 유지하는 것은 좋지 않지만 모든 로직은 컨트롤러에서 수행해야합니다. 컨트롤러는 템플릿에 정의 된 값의 기본 조회 위치입니다. 그러나 값을보기에 정말로 필요로한다면 값 바인딩 앞에 view.emailview.password이라는 접두사를 붙이면서 템플릿의 값을 사용해야합니다.

jsbinview 접근 방식을 사용하는 경우 여기를 참조하십시오.

여기을 사용하는 jsbin 예가 권장되는 방법입니다.

희망이 있습니다.

관련 문제