2012-03-23 2 views
1

Ember.js를 처음 사용합니다. 내 HTML에 다음과 같은 실험 있습니다Ember.js로 Javascript에서 DOM 값 업데이트

<p>Username: {{view Ember.TextField valueBinding="MyApp.loginController.bound.username" id="view-login-username" placeholder="Your username"}}</p> 

The username field is: {{MyApp.loginController.bound.username}} 

{{#view Ember.Button 
    classBinding="isActive" 
    target="MyApp.loginController" 
    action="submitLogin"}} 
    Login {{/view}} 

을 그리고 난 내 자바 스크립트에 다음과 같은 한 :

내 '로그인'버튼을 눌러
MyApp = SC.Application.create(); 
MyApp.loginController = Ember.Object.create({ 
    bound : { username:'12345' }, 

    submitLogin: function() { 
     MyApp.loginController.bound.username = "abcdef"; 
     alert(MyApp.loginController.bound.username); 
    } 
}); 

에 변화가 "ABCDEF"표시되지 않습니다 DOM이나 alert()에 즉시 할당 할 수 있습니다. 경고가 나타나지만 여전히 "12345"가 표시됩니다.

무엇이 누락 되었습니까?

감사합니다.

답변

3

하면 아마 엠버 홈페이지의 상단에 120pt 글꼴에 넣어해야 다음

엠버 객체에 속성을 사용하는 경우, 항상 엠버의 보편적 인 접근을 (getPath, 설정, 취득 및 setPath)를 사용!

변경 MyApp.loginController.bound.username = "abcdef";

+0

완벽한 MyApp.loginController.setPath('bound.username', "abcdef");합니다. 실제로 set()도 시도했지만 작동하지 않았습니다. setPath(), 그렇다! 고맙습니다! – shs

+2

get/set은 현재 객체의 속성입니다. 중첩 된 속성이 필요할 때 getPath/setPath를 사용하십시오. –

관련 문제