Как я могу показать поп-загрузку до того, как будут извлечены данные и задание рендеринга?

0

У меня есть страница, которая будет вызывать метод search_hotels.

Он должен подождать около 2 секунд, чтобы сервер вернул JSON.

И размер возвращенного JSON содержит 2 предмета.

Для обработки и рендеринга всех элементов с ng-repeat требуется 2 ~ 3 секунды.

Какая лучшая практика показывает окно загрузки, чтобы заставить людей ждать?

        function search_hotels(q_param) {
            roomSkuService.search(q_param).$promise.then(function(resp) {
                _.each(resp, function(item) {
                    var region = item.hotel.region;
                    if ($scope.region.list.indexOf(region) < 0) {
                        $scope.region.list.push(region)
                    }
                });

                $scope.hotels = _.groupBy(resp, function(row) {
                    return row.hotel_id;
                });
            });
        }
  • 0
    Всегда ли вы получаете тысячи результатов каждый раз, когда вы ищете?
Теги:

1 ответ

0

Я бы рекомендовал вам использовать $ timeout, чтобы скрыть окно загрузки после завершения рендеринга.

function search_hotels(q_param) {
            //show the loading window
            roomSkuService.search(q_param).$promise.then(function(resp) {
                _.each(resp, function(item) {
                    var region = item.hotel.region;
                    if ($scope.region.list.indexOf(region) < 0) {
                        $scope.region.list.push(region)
                    }
                });

                $scope.hotels = _.groupBy(resp, function(row) {
                    return row.hotel_id;
                });

                //execute after rendering
                $timeout(function(){
                    //hide loading window
                },0);
            });
        }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню