我有一个Typehead文本框作为'Model.Property'。所以我需要在用户输入时将ajax调用延迟到服务器。我已经使用了下面的代码片段。但是它仍然执行已经被删除的字符数打字。我怎么能避免它?
JS
$scope.$watch('Model.Property', function () {
$timeout(function() {
$scope.MyFunction();
}, 5000);
});
HTML
<div pr-form-input name="MyReson" model="Model.Property" isrequired="true"></div>
答案 0 :(得分:1)
该方法是在itme模糊时更新服务器以进行更改:
您的HTML标记:
<div pr-form-input name="Cause" ng-change="updateServer()" ng-model-options="{ debounce: 1000 }" model="Model.Property" isrequired="true"></div>
在你的控制器内:
$scope.updateServer = function() {
MyServerService.update($scope.Model.Property)
}
阐释:
ng-change - 在模型更改时触发功能的指令
ng-model-options - 用于配置模型观察更改的指令(配置为on-blur)
对于Ajs 1.2.X 用户: ngModelOptions for AngularJS 1.2