我想在我的角度应用程序中实现一个预先输入。
因此,当用户填写输入时,我想等待1秒并在1秒后验证输入是否相同,如果它相同,那么我将请求发送到我的服务器。
我是通过在$ timeout中实现$ http来实现的,该功能成功运行但我想知道它是否是一个好方法。
有我的控制器:
$scope.getLocation = function (input) {
var input_tmp = input;
return $timeout(function () {
if (input === input_tmp) {
$scope.query.FilterIdentification = input;
return $http.get(SERVER_REST.url, $scope.query)
.then(function (res) {
var addresses = [];
angular.forEach(res.data, function (item) {
addresses.push(item);
});
return addresses;
});
}
}, 1000);
};
答案 0 :(得分:0)
相当古老的问题,我知道 - 只是想指出,这是一个内置功能:
请参阅http://angular-ui.github.io/bootstrap/
“ typeahead-wait-ms(默认值:0):输入前一个字符后输入的最短等待时间
除此之外,我认为你的做法并没有错。