如何在 $scope.$watch 方法中比较 oldVal 和 newVal

How do I compare oldVal with newVal in the $scope.$watch method?

本文关键字:oldVal 比较 newVal watch scope 方法      更新时间:2023-09-26

我定义了一个模态窗口,用户在其中选择的值与之前选择的值不同。模式窗口在关闭后应保留此值。我尝试使用 $scope.$watch 方法实现这一点,但它似乎不起作用。我在下面定义了控制器:

按.js

$scope.openEpcfTreeModel = function() {
  $scope.$watch('nonPersistentProcess.requestedEpcfKey', function(oldVal,newVal){
    var oldEpcf = oldVal;
    console.log("oldEpcf",oldEpcf);
    console.log("newVal",newVal);
    if(newVal !== oldVal) {
          $scope.nonPersistentProcess.requestedEpcfKey = oldVal;
    }
  });
}

如何修复代码中的错误?

$scope.watch 的正确函数签名是:

$scope.watch('nonPersistentProcess.requestedEpcfKey', function(newVal, oldVal) {
  // Rest of the code.
});

newVal在参数列表中oldVal之前。