AngularJS - 带$ http和$ timeout的Typeahead

时间:2014-04-29 10:16:32

标签: angularjs typeahead

我想在我的角度应用程序中实现一个预先输入。

因此,当用户填写输入时,我想等待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);

    };

1 个答案:

答案 0 :(得分:0)

相当古老的问题,我知道 - 只是想指出,这是一个内置功能:

请参阅http://angular-ui.github.io/bootstrap/

typeahead-wait-ms(默认值:0):输入前一个字符后输入的最短等待时间

除此之外,我认为你的做法并没有错。