Обновление значения в DOM из Javascript с помощью Ember.js - PullRequest
1 голос
/ 23 марта 2012

Я новичок в Ember.js. У меня есть следующий эксперимент в моем HTML:

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

И у меня есть следующее в моем Javascript:

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».

Чего мне не хватает?

Спасибо!

1 Ответ

3 голосов
/ 23 марта 2012

Следующее, вероятно, следует поместить шрифтом 120pt вверху домашней страницы Ember:

При использовании свойств объектов Ember ВСЕГДА используйте универсальные средства доступа Ember (get, getPath, set и setPath)!

Изменить MyApp.loginController.bound.username = "abcdef"; на MyApp.loginController.setPath('bound.username', "abcdef");

...