如何使用 ng-change 获取控制器中的当前文本字段值?

How to get the current text field value in controller using ng-change?

我想在每次更改文本字段时在控制器函数中获取文本字段值

<input type="text" name="quantity" ng-model="viewItemData1.quantity" ng-change="changePrice($event.target.value);">

 $scope.changePrice = function(val)
  {
     console.log(val);
     alert(val); 
     alert(JSON.stringfy(console.log(val))); 


  }  

在控制器中定义一个变量

$scope.val;

然后在你的 html 中使用 ng-model

<input id="name" ng-model="val">

在这种情况下,您可以简单地:

<input type="text" name="quantity" ng-model="viewItemData1.quantity" ng-change="changePrice();">

$scope.changePrice = function()
 {
 console.log($scope.viewItemData1.quantity);
 alert($scope.viewItemData1.quantity); 
 alert(JSON.stringfy(console.log($scope.viewItemData1.quantity))); 
 }

在您的 HTML 中,ng-model="viewItemData1.quantity" 将负责数据绑定,您不需要 ng-change 方法,因此在 HTML 中:

<input type="text" name="quantity" ng-model="viewItemData1.quantity">

然后在你的控制器中,在你的输入字段上设置一个 $watch 并在它发生变化时做任何你想做的事情:

$scope.$watch("viewItemData1.quantity", function(newVal, oldVal) {
  if (newVal !== oldVal) {
      console.log(newVal );
      alert(newVal );
      // or do whatever you want to do.
  }
});