我的 $scope.product 仍然在变化,即使我已经将它的值传递给另一个变量 $scope.editOrDeleteProduct

My $scope.product still changing even I already passed its value to another variable which is $scope.editOrDeleteProduct

首先我在 table

中使用我的 $scope.product
<tr ng-repeat="product in products ng-click="productClicked(product)">

        <td>{{product.prod_name}}</td>
        <td>{{product.company}}</td>

</tr>

然后我的 productClicked 在我的控制器中是这样的

$scope.productClicked = function (product) {
  $scope.editOrDeleteProduct = product;
}

我正在将值传递给另一个 editOrDeleteProduct。我在表单中使用 editOrDeleteProduct。

     <input type="text" class="form-control empty" id="inputProductname" placeholder="Enter product name." ng-model="editOrDeleteProduct.prod_name" disabled>
     <input type="text" class="form-control empty" id="inputBrand" placeholder="Enter the company." ng-model="editOrDeleteProduct.company" disabled>

然后,当我更改表单中的某些内容时,在 editOrDeleteProduct 中传递的 table 中的数据也会更改。我只想知道那里发生了什么,以及如何在不更改 table?

中的任何数据的情况下更改表单中的内容

你需要使用深拷贝使用angular.copy(product);

  $scope.editOrDeleteProduct = angular.copy(product);