2016-08-18 4 views
0

새 사용자 개체를 만들고이를 서버에 게시해야하는 페이지가 있습니다.각도 새 개체 바인딩

<div class="container" ng-controller="newUserCtrl"> 
... 
<tr> 
    <td>Username:</td> 
    <td><input type="text" name="name" ng-value="user.username"></td> 
</tr> 
<tr> 
    <td>Password:</td> 
    <td><input type="text" name="name" ng-value="user.password"></td> 
</tr> 
<tr> 
    <td>Name:</td> 
    <td><input type="text" name="name" ng-value="user.name"></td> 
</tr> 
... 
</div> 

이것은 컨트롤러 :

은 HTML 파일입니다

angular.module('module') 
    .controller('newUserCtrl', ['$scope', '$http', '$location', 
      '$state', newUserCtrl]); 


function newUserCtrl($scope, $http, $location, 
         $state) { 

    $scope.user = { 
     usrename: null, 
     password: null, 
     name: null 
    }; 

    $scope.saveNewUser = function() { 
    var aa = $scope.user; 

    $http.post('SERVICE URL', $scope.user) 
     .then(doSomething); 
    } 

} 

데이터가 $의 scope.user 객체에 바인더 제본되지 않는 문제. stuff를 삽입 한 후 save methond를 호출 한 후 aa가 initail 사용자 객체임을 알 수 있습니다.

어떻게하면됩니까?

감사합니다, 이도

+0

Plunker pls를 제공 할 수 있습니까? – Kindzoku

+0

Btw, 왜 $ 범위를 사용합니까? ControllerAs 구문을 사용하지 않는 이유는 무엇입니까? – Kindzoku

+0

나는 분노를 처음 접했고 ControllerAs에 익숙하지 않다. –

답변

1

변경 ng-valueng-model로는이 문제를 해결합니다. 여기

이 용액 $ 범위 https://plnkr.co/edit/Cic7We?p=preview

이 방식으로 청소기 인 Plunker https://plnkr.co/edit/R1kqBfzNHfkJK0fvKhgJ?p=preview

이다.

<div class="container" ng-controller="newUserCtrl as nu"> 
... 
<tr> 
    <td>Username:</td> 
    <td><input type="text" name="name" ng-model="nu.user.username"></td> 
</tr> 
<tr> 
    <td>Password:</td> 
    <td><input type="text" name="name" ng-model="nu.user.password"></td> 
</tr> 
<tr> 
    <td>Name:</td> 
    <td><input type="text" name="name" ng-model="nu.user.name"></td> 
</tr> 
... 
</div> 

angular.module('module') 
    .controller('newUserCtrl', ['$http', '$location', 
     '$state', newUserCtrl]); 


function newUserCtrl($http, $location, $state) { 
    var vm = this; 

    vm.user = { 
     usrename: null, 
     password: null, 
     name: null 
    }; 

    vm.saveNewUser = function() { 
    var aa = vm.user; 

    $http.post('SERVICE URL', vm.user) 
     .then(doSomething); 
    } 

} 
+0

아니요, 변경된 내용 없음 –

+0

Ok. 나는 5 분 안에 플 런커를 줄거야. – Kindzoku

+0

@IdoBarash, 나는 Plunker를 추가했다. 그것을 확인 pls. – Kindzoku