📜  javascript ng-change 获取上一个值 - Html (1)

📅  最后修改于: 2023-12-03 15:01:38.173000             🧑  作者: Mango

JavaScript ng-change 获取上一个值 - HTML

当我们在使用AngularJS开发网页或应用程序时,我们可能会需要获取一个元素之前的值以进行后续操作。这时候,我们可以使用ng-change指令配合一些JavaScript脚本来获取它。

什么是ng-change

ng-change是AngularJS框架中的一个指令,它用于在input,select和textarea等元素的value值被修改时触发一个函数。

举个例子,假设我们有这样一个输入框:

<input type="text" ng-model="name" ng-change="alertName()">

当用户修改文本框中的值时,alertName()函数会被调用。

获取上一个值

如果我们想获取输入框中之前的值,我们可以在alertName()函数中设置一个$watch,以便获取这个元素之前的值。

<input type="text" ng-model="name" ng-change="alertName()" />

<script>
  var app = angular.module('myApp', []);
  app.controller('myCtrl', function($scope) {
    var prevValue;
    $scope.alertName = function() {
      $scope.$watch('name', function(newValue, oldValue) {
        if (oldValue !== newValue) {
          prevValue = oldValue;
        }
      });
      console.log(prevValue);
    };
  });
</script>

上述代码中,我们在alertName()函数中使用$watch来监听$scope.name的改变。如果变化了,我们就将新值和旧值进行比较,如果它们不相等,则表示name的值已经被改变,我们就可以把旧值存储在prevValue变量中。

最后,我们使用console.log()函数输出prevValue的值,就可以将输入框之前的值输出到浏览器的控制台上。

以上就是获取ng-change之前的值的方法。

结论

通过上述方法,我们可以使用ng-change指令和一些JavaScript脚本来获取元素之前的值,以便我们在之后的操作中使用。