繁体   English   中英

如何在angularjs中出现模式弹出窗口时使背景静态

[英]how to make the background static when modal popup appears in angularjs

我正在使用模式弹出窗口在网格视图中编辑行。 我可以使用row.getProperty()函数检索模态中的行值。 但是问题是当我尝试以模式方式编辑值时,在单击“更新”按钮之前,该值也在后台视图中同时更改。

如果您不希望两端立即生效,则需要复制模型并编辑复制的版本。 用户单击更新按钮后,可以将复制的值移动到原始模型。

function Controller($scope) {
   $scope.master= {};

   $scope.update = function(user) {
     // Example with 1 argument
     $scope.master= angular.copy(user);
   };

   $scope.reset = function() {
     // Example with 2 arguments
     angular.copy($scope.master, $scope.user);
   };

   $scope.reset();
 }

有关更多详细信息,请参见https://docs.angularjs.org/api/ng/function/angular.copy

我猜您正在使用相同的对象引用绑定到您的模式视图和静态背景视图。

要解决此问题,您可以在模态中创建对象的副本:

在您的Modal中,使用$scope.copy = angular.copy(obj); 将对象的副本绑定到合并范围。 提交后,使用angular.extend(obj, copy); 将属性重新分配回您的原始对象。

[编辑]

使用angular.copy将副本分配回原始obj也可以,并且比extend更可取:

 $scope.obj = angular.copy(copy, obj);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM