2016-09-03 2 views
0

각도 j를 사용하여 삽입 및 업데이트하고 있지만 문제는 사용자를 추가하고 firstname을 변경하려고하면 그 변경이 사용자 이름의 목록에 반영되고 추가하려고 할 때입니다. 새 사용자는 다음 텍스트 상자에 이미 내 마지막 레코드 데이터가 있습니다.2 객체 범위가 서로 충돌 함

코드 :

사용자 목록 :

<tr ng-repeat="user in users"> 
    <td> 
    <a href="#" ng-click="openPopUp(user)"> 
     <div class="edit-icon"></div> 
    </a> 
    </td> 
</tr> 

추가 및 업데이트 제품 :

<input type="text" name="firstname" ng-model="user.firstname" > 
<input type="text" name="lastname" ng-model="user.lastname" > 

컨트롤러 :

$scope.users = []; 
    $scope.user = {}; 

$scope.openPopUp = function (user) { 
     $scope.user = user; 
     ngDialog.open({ 
      templateUrl: 'templateId', 
      scope: $scope 
     }); 
    } 

    $scope.save = function() { 
     $scope.users.push($scope.user); 
      ngDialog.close(); 
} 
+0

을하고'save' 방법은 새로운 사용자를 추가하는 대신 사용자를 편집한다 :

당신의 저장() 함수에서 다음

, 당신은 새로운 하나 이전 객체를 대체 할 수 있습니다 팝업에서 –

+0

대화 상자에 새 범위를 전달하십시오. 어쩌면 사용자에게만 전달 하시겠습니까? 따라서 범위 : {user : user}. – Masterakos

+0

@MuhammadAref save 메서드는 add 및 edit.see를 모두 수행합니다. –

답변

0

다른 이름으로 모델을 변경하십시오. 기존 객체와 충돌을 일으 킵니다. 사용자 대신 newUser와 같은 것을 작성하십시오. 문제는 명확하지 않다

$scope.users.push($scope.newUser);