2015-11-06 2 views
0

У меня есть api url: "api/books/01/text? Page = 0".Angularjs: go next page button fetch from api

имеет JSon формат:

{ "content":" This is page one. " , "pageInfo" : {"count": 6, "id": "0"} } 

У меня нет проблем получить данные о представлении:

.factory('Service',function($http) { 
    return { 
    url: '.../api/books/01/text?page=0', 

    fetch: function(config) { 
     return $http.get(this.url, config).then(function(json) { 
     return json.data; 
     }); 
    }, 
    } 

Но Предположим, я хочу кнопку, перейти на следующую страницу, когда пользователь нажимает на следующий, чтобы сделать , представление изменит текстовую базу на информацию, которую следующий api url «api/books/01/text? page = 1», что мне делать?

+0

Вы хотите сохранить номер страницы или нет? т. е. если пользователь нажимает «следующий» пару раз, а затем обновляет страницу, это нормально, если все начнется снова со страницы 0? – wil93

+0

Вам просто нужно обновить свою модель и отобразить этот элемент модели в вашем представлении. – guilhebl

+0

Нет, я не хочу сохранять страницу, когда пользователь обновляет страницу, она должна оставаться на текущей странице. –

ответ

2

Предположив ваш page.id Ваш индекс страницы и page.count является подсчет количества элементов на этой странице, в коде контроллера:

$scope.page = Service.fetch($scope.config); 

в вашем HTML:

<div> 
<span>Page: {{page.id}}</span> 
<span>Records: {{page.count}}</span> 
<button ng-disabled="{{page.id === 0}}" ng-click="nextPage()"> Next</button> 
</div> 

Контроллер функции контроллера для нажатия кнопки

// fetch next page 
$scope.nextPage = function() { 
    $scope.config.pageIndex = scope.config.pageIndex + 1; 
    $scope.page = Service.fetch($scope.config); 
}; 
+0

Спасибо за вашу помощь, я понимаю. –