还原AngularJs中$ scope变量的更改

les*_*eve 2 scope popup angularjs ionic-framework

我做了一个keyPad popUp,它改变了作用域中某些变量的值.我想还原对这些变量所做的任何更改,但是当popUp关闭时,不会对当前视图中显示的那些值进行更改而不刷新视图.

更改popUp中的值部分可以完美无缺地实时运行.

我试图将这些变量的根放在一个临时变量中,并在用户取消时进行切换.还原范围值,但不更新视图.

var inventoryLineTemp = $scope.inventoryLine;
var updateQuantityPopup = $ionicPopup.show({
  templateUrl: 'templates/popUps/quantityPopUp.html',
  title: "Quantité",
  scope: $scope,
  buttons: [
    { text: 'Cancel',
      onTap: function(e) {
        $scope.inventoryLine = inventoryLineTemp;
      }
    }...
Run Code Online (Sandbox Code Playgroud)

Toa*_*yen 6

你不能这样做var inventoryLineTemp = $ scope.inventoryLine; 因为它们引用了同一个对象.

请改用angular.copy:

var inventoryLineTemp = angular.copy($ scope.inventoryLine);