项目中用的前端是ftl + angular.js
今天遇到个问题关于弹出框,若点击关闭按钮,数据回退到弹出框初始化状态,用到了angular.copy()方法
项目js代码案例:
/** * 商品库存批次修改 */ $scope._repeatItem = {}; $scope.modifyInventory = function (repeat_item) { $scope._repeatItem = angular.copy(repeat_item); //库存批次赋值,自定义,双向绑定数据 $scope['repeat_item'] = repeat_item; //弹出框展示 $('.deduct_segmentation_box').modal("show"); }
/** * 点击关闭按钮,新增清空之前数据,编辑还原以前数据 */ $scope.colseBatchGoods = function (className) { angular.copy($scope._repeatItem, $scope.repeat_item); $("." + className).modal("hide"); };其中重点在如下代码:angular.copy($scope._repeatItem, $scope.repeat_item);
//重置数据的层面放在此处,此处将 $scope._repeatItem 深拷贝到 $scope.repeat_item 中,可以根据需求放入原来的模型。