Angularjs 角度:如何保存编辑的值?

Angularjs 角度:如何保存编辑的值?,angularjs,Angularjs,这是我的plnkr 我正在尝试从我的编辑联系人模式保存编辑的值 以下是从对象获取当前值的编辑方法: $scope.edit = function(terminal) { $scope.name = terminal.name; $scope.last = terminal.last; $scope.age = terminal.age; } 我读过关于角复制的书,还有别的吗? 任何人都可以帮助我,请让我学习如何做将对象或数组的值指定给另一个变量时使用angular.copy,并且不应更改该对

这是我的plnkr

我正在尝试从我的编辑联系人模式保存编辑的值

以下是从对象获取当前值的编辑方法:

$scope.edit = function(terminal) {
$scope.name = terminal.name;
$scope.last = terminal.last;
$scope.age = terminal.age;
}
我读过关于角复制的书,还有别的吗?
任何人都可以帮助我,请让我学习如何做

将对象或数组的值指定给另一个变量时使用angular.copy,并且不应更改该对象的值

如果没有深度复制或使用angular.copy,更改属性值或添加任何新属性将更新引用同一对象的所有对象。您的JS将如下所示:

$scope.edit = function(terminal) {
    $scope.name = angular.copy(terminal.name);
    $scope.last = angular.copy(terminal.last);
    $scope.age = angular.copy(terminal.age);
    }

将对象或数组的值赋给另一个变量时,请使用angular.copy,并且不应更改该对象的值

如果没有深度复制或使用angular.copy,更改属性值或添加任何新属性将更新引用同一对象的所有对象。您的JS将如下所示:

$scope.edit = function(terminal) {
    $scope.name = angular.copy(terminal.name);
    $scope.last = angular.copy(terminal.last);
    $scope.age = angular.copy(terminal.age);
    }

您需要传递要编辑的行的索引。单击“编辑”按钮时传递索引

script.js中的更改

$scope.edit = function(terminal,index) {

    $scope.name = terminal.name;
    $scope.last = terminal.last;
    $scope.age = terminal.age;
    $scope.edit_index = index

 }


$scope.saveEdit =function(){
    index = $scope.edit_index
    $scope.terminals[index].name = $scope.name;

  }
index.html中的更改

<td> <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#editModalLong" ng-click="edit(terminal,$index)">Edit</button>

<button type="button" class="btn btn-primary" data-dismiss="modal" ng-click="saveEdit()">Save</button>
编辑
拯救

您需要传递要编辑的行的索引。单击“编辑”按钮时传递索引

script.js中的更改

$scope.edit = function(terminal,index) {

    $scope.name = terminal.name;
    $scope.last = terminal.last;
    $scope.age = terminal.age;
    $scope.edit_index = index

 }


$scope.saveEdit =function(){
    index = $scope.edit_index
    $scope.terminals[index].name = $scope.name;

  }
index.html中的更改

<td> <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#editModalLong" ng-click="edit(terminal,$index)">Edit</button>

<button type="button" class="btn btn-primary" data-dismiss="modal" ng-click="saveEdit()">Save</button>
编辑
拯救

首先在
ng model
中不使用一个对象,而不是使用单个作用域属性,这将创建大量额外的手动工作

还有一条黄金法则

做一些类似于:

<input ng-model="terminal.name">
<input ng-model="terminal.age">

我强烈建议您摆脱jQuery和bootstrap.js,使用angular ui bootstrap insted

首先不要在
ng model
中使用一个对象,而不要使用单独的作用域属性,这将创建大量额外的手动工作

还有一条黄金法则

做一些类似于:

<input ng-model="terminal.name">
<input ng-model="terminal.age">

我强烈建议您放弃jQuery和bootstrap.js,使用angular ui bootstrap insted

谢谢您,hamza,有问题吗:我用php将数据保存到数据库,我需要新函数将编辑值保存到?或者复制方法会自动执行此操作?使用相同的angular.copy将这些值放在一些额外的javascript变量中,而不是放在一些额外的$scope变量中,因为,$scope告诉我们哪些值将与我们的视图绑定。谢谢你,hamza,有一个问题:我正在使用php将数据保存到数据库中,我需要新函数将编辑值保存到?或者复制方法会自动执行此操作?使用相同的angular.copy将这些值放在一些额外的javascript变量中,而不是放在一些额外的$scope变量中,因为,$scope告诉我们哪些值将与我们的视图绑定。谢谢charlietfl,有一个问题:我正在使用php将数据保存到数据库中,我需要新的功能来保存编辑值到?或者extend方法可以自动完成这项工作?这就更需要使用一个对象…将其粘贴到
$http
中非常简单,并且只需在成功时更新视图版本。Hi charlietfl尝试使用点状u来创建ngmodel,但当我单击编辑按钮和之后的添加按钮时,添加表单输入中有值hank you charlietfl,有一个问题:我正在用php将数据保存到数据库中,我需要新函数将编辑值保存到?或者extend方法可以自动完成这项工作?这就更需要使用一个对象…将其粘贴到
$http
中非常简单,只需在成功时更新视图版本。Hi charlietfl,尝试使用点式u来创建ngmodel,但当我单击编辑按钮,然后单击添加按钮时,添加表单输入上有值