如何在角度js

时间:2017-06-29 00:51:56

标签: javascript angularjs

如果我有一个如下所示的输入字段;

   <input type="text" name="myName" class="form-control" ng-model="Info.personName" ng-model-options="{ debounce: 1000 }" />

如何在angular.js中运行一个函数来保存用户在输入字段中提供的值

1 个答案:

答案 0 :(得分:1)

这实际上是AngularJs绑定和ng-model-options的魔力的一部分。

使用ng-model-options debounce,AngularJs不会改变&#34;在去抖动时间结束之前模型的值。其他AngularJs指令(例如ng-change)监视模型的更改,而不是对输入元素的更改。因此,ng-change可用于调用函数,并且在去抖动结束之前该函数不会触发。

示例:(更改为2000ms以显示明显的延迟)

&#13;
&#13;
var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {
  $scope.Info = {};

  $scope.changeFunction = function() {
    console.log('change called');
  }
});
&#13;
<!DOCTYPE html>
<html ng-app="plunker">

<head>
  <meta charset="utf-8" />
  <title>AngularJS Plunker</title>
  <script data-require="angular.js@1.5.x" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.11/angular.min.js" data-semver="1.5.11"></script>
</head>

<body ng-controller="MainCtrl">
  <input type="text" name="myName" ng-change="changeFunction()" class="form-control" ng-model="Info.personName" ng-model-options="{ debounce: 2000 }" />
</body>

</html>
&#13;
&#13;
&#13;

http://plnkr.co/edit/CkUmqzxOjHXrKKHJKMez?p=preview