Показать сообщение отдельно
  #1 (permalink)  
Старый 22.08.2013, 13:05
Аспирант
Отправить личное сообщение для virus-07 Посмотреть профиль Найти все сообщения от virus-07
 
Регистрация: 16.12.2010
Сообщений: 41

присвоение объекта
Не до конца понимаю логику angularjs. Объясню, что я пытаюсь сделать, а кто-нибудь скажет мне, почему я дурак.

Есть объект user{email:'some@some.ru', login:'login'}.
Этот объект транслируются в обычный параграф <p>{{user.email}}</p>.

Я добавляю форму, через которую можно поменять логин и почту.
Логика такая: создать копию user для транслирования в форму и изменения, если проверку проходит — присваиваем в первичный объект, если нет — то и откатывать нечего.
То есть var user_upd = user; и транслирую это в инпуты.

Но как только я изменяю значение в инпуте, у меня меняется значение в параграфе. Почему, если я пытаюсь работать с 2 независимыми объектами?

Вот маленький контроллер. Изменения в $scope.user_upd отражаются в $scope.user

function userCtrl($scope){
        var user = {id:'2', name:'yandex', email:'yandex@yandex.ru'}
        $scope.user = user;
        $scope.user_upd = user;

        $scope.showUserUpd = function(){ // форма для изменения логина
            $('#user_popup').fadeIn();
        }
}


Надеюсь, понятно выражаюсь.
Ответить с цитированием