2对象范围相互冲突

时间:2016-09-03 15:34:05

标签: javascript angularjs angularjs-scope

我正在使用角度js进行插入和更新,但问题是当我尝试添加用户并更改名字然后该更改反映在我的用户名字列表中,当我尝试添加新用户时,我已经是我的所有这些文本框中的最后记录数据。

代码

用户列表:

<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();
}

1 个答案:

答案 0 :(得分:0)

使用其他名称更改ng-model。它与现有对象产生冲突。 而不是用户,写一些像newUser。

然后在save()函数中,您可以用新的对象替换上一个对象:

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