2015-11-24 7 views
-1

У меня есть следующий контроллер:Угловые переменные в функциях разбиения на страницы контроллера и зрения

function PostListController($timeout) { 

    var vm = this; 

    vm.posts = []; 
    vm.pagination = { pageNumber: 1, pageSize: 9 }; 

    vm.init = function() { 
    load(); 
    }; 

    vm.load = function() { 
    // load posts from service 
    }; 

}; 

На HTML у меня есть кнопки для следующей и предыдущей страниц и кнопок на номера страниц ...

  1. Должен ли я добавлять pageNumber и pageSize в качестве аргументов для загрузки? Или мне следует использовать переменные vm и никаких аргументов ...

  2. Должен ли я добавить nextPage, setPage и предыдущую страницу, а также посмотреть на число страниц и число переменных области страницы, чтобы проверить, есть ли изменения?

  3. Или, возможно, изменение vm.pagination.pageNumber и других переменных при щелчке по html-коду?

Я не уверен, что это стандартный способ сделать это ...

+1

Сделайте себе одолжение и использовать [пагинация компонент углового UI-Bootstrap в] (https://angular-ui.github.io/bootstrap/#/pagination) – Aaron

ответ

1
  1. Пропустите ориентацию страницы в качестве аргумента функции load(). Позвольте функции получить доступ к vm.pagination и получить результаты.

  2. Нет

  3. Вы не можете это сделать, так как вы не знаете размер результирующего набора, когда в HTML.

    функция PostListController ($ таймаут) {

    var vm = this; 
    
    vm.posts = []; 
    vm.pagination = { pageNumber: 0, pageSize: 9 }; 
    
    vm.init = function() { 
        load("next"); 
    }; 
    
    vm.load = function (direction) { 
    
        // Use the argument and vm.pagination in conjunction to decide the result set 
        // load posts from service 
    }; 
    

    };

Смежные вопросы