Como implementar paginação em Angular JS? [Com Exemplo Prático]

Publicados: 2020-04-20

Antes de passarmos a entender como a paginação funciona no Angular JS e como ela é implementada nesse framework, vamos dar um passo a passo e começar discutindo o Angular JS e a paginação em geral.

Índice

O que é Angular JS?

O Angular JS está entre os frameworks estruturais mais preferidos para criar aplicativos web dinâmicos. Ele permite que os desenvolvedores usem HTML como linguagem de modelo, e ainda permite a extensão da sintaxe HTML para permitir a expressão clara e concisa dos vários componentes de uma aplicação web.

Ele vem com recursos de injeção de dependência e vinculação de dados para eliminar a maior parte do código que precisa ser escrito pelos desenvolvedores. Tudo isso ocorre dentro do navegador, tornando o Angular JS um framework que pode ser convenientemente usado com quase qualquer tecnologia de servidor.

Angular JS é uma estrutura de código aberto que compartilha várias semelhanças com JavaScript. É usado principalmente por desenvolvedores para desenvolver aplicativos que precisam exibir todo o seu conteúdo, texto e gráficos em uma única página. No entanto, isso não significa, de forma alguma, que ele não possa ser usado para criar aplicativos de várias páginas.

Explicaremos neste post como a paginação ajuda a dividir o conteúdo em mais de uma página sem afetar o fluxo e a navegação entre outros fatores. É uma estrutura de controlador de visualização de modelo tão popular em todo o mundo devido a duas razões muito importantes - é baseada no Google e sempre é mantida atualizada com as últimas tendências de desenvolvimento. Vamos agora mudar nosso foco para paginação.

Leia: Perguntas e respostas da entrevista AngularJS

O que é paginação?

Como mencionamos um pouco antes, nem todos os sites podem exibir todas as informações em uma única página. Embora uma única página seja realmente a escolha preferida, o uso de várias páginas em situações em que um site de página única não é uma opção pode oferecer vários benefícios, incluindo navegação fácil no site, experiência aprimorada do usuário e outros.

Todos os sites, especialmente sites de comércio eletrônico como o Flipkart, não podem listar todos os seus produtos e exibir todas as informações necessárias em uma única página. É aqui que a paginação entra em cena. Ele permite que o conteúdo, na forma de texto, imagens e muito mais, seja dividido em várias páginas, se necessário. Saiba mais sobre como usar o AngularJS para desenvolvimento web.

Existem vários cenários em que a paginação é realmente útil. Se o seu site apresentar grandes blocos de informações, incluindo blogs, gráficos ou tabelas relacionados a uma categoria ou conjunto de dados semelhante, você poderá dividir essas informações usando a paginação e melhorar a navegação e a legibilidade.

Paginação em Angular JS

Existem várias maneiras de exibir dados em um site ou em qualquer aplicativo da web. Listas e tabelas são os elementos mais comuns que a maioria das pessoas usa para exibir informações fáceis de ler e entender. Em aplicativos Angular, o recurso ng-repeat é usado para exibir informações em listas ou tabelas. No entanto, isso só funciona quando os dados exibidos não são muito grandes. Para conjuntos de dados maiores, recursos como classificação, pesquisa e paginação tornam as tabelas e listas mais gerenciáveis ​​e os aplicativos mais fáceis de usar.

A paginação Angular JS pode parecer mais difícil do que a paginação em Laravel, Code PHP e outras estruturas para pessoas que não estão muito cientes da abordagem de implementação que precisa ser seguida. Você pode usar a paginação junto com os recursos de pesquisa e classificação para listar registros em um formato de fácil navegação e leitura.

Você pode usar bibliotecas angulares de terceiros para cobrir listas simples em várias páginas com recursos de classificação e pesquisa. A biblioteca de terceiros mais preferida para essa finalidade é dirPagination. Esta biblioteca é facilmente acessível e muito fácil de usar. Ele pode ser usado para versões angulares inferiores a angular 2. Se você estiver usando angular 2, você separará os componentes disponíveis na biblioteca interna para adicionar classificação, pesquisa e paginação.

Se você quiser exibir mais de 200 registros e estiver usando, por exemplo, o angular 1.4, verá que a biblioteca dirPagination é mais rápida do que outras bibliotecas desse tipo e também com alto desempenho. É uma biblioteca plug-n-play que não precisa do Angular JS Controller para executar qualquer lógica ou comando de configuração. Além disso, também funciona bem com o Bootstrap.

Paginação em Angular JS com Exemplo

Aqui está um código para mostrar a paginação em Angular JS.

Fonte : ( https://gist.github.com/kmaida/06d01f6b878777e2ea34 )

<!DOCTYPE HTML>

<html lang=”pt” ng-app=”myApp”>

<cabeça>

<meta charset=”utf-8″>

<title>Paginação Dinâmica com Filtragem</title>

<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>

<meta name=”descrição” conteúdo=””>

<meta name=”autor” content=”Kim Maida”>

<!– Bibliotecas JS –>

<script src=”https://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js” type=”text/javascript”></script>

<script src=”http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.10.0.js” type=”text/javascript”></script>

<!– Scripts Angulares –>

<script src=”script.js” type=”text/javascript”></script>

<!– Bootstrap –>

<link rel=”stylesheet” type=”text/css” href=”http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css” />

</head>

<corpo>

<div ng-controller=”PageCtrl”>

<div ng-controller=”PageCtrl”>

<label>Pesquisar:</label> <input type=”text” ng-model=”search.name” placeholder=”Pesquisar” />

<br />

<label>Filtrar por categoria:</label>

<ul>

<li><a href=”” ng-click=”search.category='engineering'”>Engenharia</a></li>

<li><a href=”” ng-click=”search.category='management'”>Gerenciamento</a></li>

<li><a href=”” ng-click=”search.category='business'”>Negócios</a></li>

</ul>

<label>Filtrar por Filial:</label>

<ul>

<li><a href=”” ng-click=”search.branch='Oeste'”>Oeste</a></li>

<li><a href=”” ng-click=”search.branch='Leste'”>Leste</a></li>

</ul>

<p><strong><a href=”” ng-click=”resetFilters()”>Mostrar tudo</a></strong></p>

<h1>Itens</h1>

<ul>

<li ng-repeat=”item em filtrado = itens | filtro:pesquisar | startFrom:(currentPage-1)*entryLimit | limitTo:entryLimit”>{{item.name}}</li>

</ul>

<pagination page=”currentPage” max-size=”noOfPages” total-items=”totalItems” items-per-page=”entryLimit”></pagination>

</div>

</body>

</html>

app.js (Fonte: https://gist.github.com/kmaida/06d01f6b878777e2ea34)

var app = angular.module('myApp', ['ui.bootstrap']);

app.filter('startFrom', function() {

função de retorno (entrada, início) {

if (entrada) {

inicio = + inicio;

return input.slice(start);

}

Retorna [];

};

});

app.controller('PageCtrl', ['$scope', 'filterFilter', function ($scope, filterFilter) {

$scope.items = [{

“nome”: “nome 1”,

"categoria": [{

"Gerenciamento de categoria"

}, {

“categoria”: “negócios”

}],

“ramo”: “Oeste”

}, {

“nome”: “nome 2”,

"categoria": [{

“categoria”: “engenharia”

}],

“ramo”: “Oeste”

}, {

“nome”: “nome 3”,

"categoria": [{

"Gerenciamento de categoria"

}, {

“categoria”: “engenharia”

}],

“ramo”: “Oeste”

}, {

“nome”: “nome 4”,

"categoria": [{

"Gerenciamento de categoria"

}, {

“categoria”: “negócios”

}],

“ramo”: “Oeste”

}, {

“nome”: “nome 5”,

"categoria": [{

"Gerenciamento de categoria"

}, {

“categoria”: “negócios”

}],

“ramo”: “Leste”

}, {

“nome”: “nome 6”,

"categoria": [{

"Gerenciamento de categoria"

}, {

“categoria”: “negócios”

}],

“ramo”: “Leste”

}, {

“nome”: “nome 7”,

"categoria": [{

"Gerenciamento de categoria"

}, {

“categoria”: “negócios”

}],

“ramo”: “Leste”

}, {

“nome”: “nome 8”,

"categoria": [{

“categoria”: “negócios”

}],

“ramo”: “Oeste”

}, {

“nome”: “nome 9”,

"categoria": [{

"Gerenciamento de categoria"

}, {

“categoria”: “negócios”

}],

“ramo”: “Leste”

}, {

“nome”: “nome 10”,

"categoria": [{

"Gerenciamento de categoria"

}],

“ramo”: “Leste”

}, {

“nome”: “nome 11”,

"categoria": [{

"Gerenciamento de categoria"

}, {

“categoria”: “negócios”

}],

“ramo”: “Leste”

}, {

“nome”: “nome 12”,

"categoria": [{

“categoria”: “engenharia”

}],

“ramo”: “Oeste”

}, {

“nome”: “nome 13”,

"categoria": [{

"Gerenciamento de categoria"

}, {

“categoria”: “negócios”

}],

“ramo”: “Oeste”

}, {

“nome”: “nome 14”,

"categoria": [{

“categoria”: “engenharia”

}],

“ramo”: “Leste”

}, {

“nome”: “nome 15”,

"categoria": [{

"Gerenciamento de categoria"

}, {

“categoria”: “engenharia”

}],

“ramo”: “Leste”

}, {

“nome”: “nome 16”,

"categoria": [{

"Gerenciamento de categoria"

}],

“ramo”: “Oeste”

}, {

“nome”: “nome 17”,

"categoria": [{

"Gerenciamento de categoria"

}],

“ramo”: “Leste”

}, {

“nome”: “nome 18”,

"categoria": [{

“categoria”: “negócios”

}],

“ramo”: “Oeste”

}, {

“nome”: “nome 19”,

"categoria": [{

“categoria”: “negócios”

}],

“ramo”: “Oeste”

}, {

“nome”: “nome 20”,

"categoria": [{

“categoria”: “engenharia”

}],

“ramo”: “Leste”

}, {

“nome”: “Pedro”,

"categoria": [{

“categoria”: “negócios”

}],

“ramo”: “Leste”

}, {

“nome”: “Frank”,

"categoria": [{

"Gerenciamento de categoria"

}],

“ramo”: “Leste”

}, {

“nome”: “João”,

"categoria": [{

“categoria”: “negócios”

}],

“ramo”: “Leste”

}, {

“nome”: “Ralf”,

"categoria": [{

"Gerenciamento de categoria"

}, {

“categoria”: “negócios”

}],

“ramo”: “Leste”

}, {

“nome”: “Gina”,

"categoria": [{

“categoria”: “negócios”

}],

“ramo”: “Leste”

}, {

“nome”: “Sam”,

"categoria": [{

"Gerenciamento de categoria"

}, {

“categoria”: “engenharia”

}],

“ramo”: “Leste”

}, {

“nome”: “Britney”,

"categoria": [{

“categoria”: “negócios”

}],

“ramo”: “Oeste”

}];

Explicação

O código usado acima exibirá os nomes dos alunos em suas respectivas categorias ou disciplinas de ensino, juntamente com sua geografia. O recurso de paginação Angular JS permitirá que esses detalhes sejam mencionados em um formato tabular, em várias páginas. É assim que você classifica as informações e as torna mais apresentáveis ​​para o usuário. Esta é sem dúvida a maneira mais fácil de melhorar a experiência do usuário para seus aplicativos da web.

Portanto, se você é um desenvolvedor da Web, não deve atrasar o aprendizado da maneira mais eficiente possível. E com os argumentos acima sobre por que o AngularJS é uma ferramenta ideal no mundo da tecnologia atual, você tem todas as explicações para seguir em frente!

Se você estiver interessado em saber mais sobre AngularJS, desenvolvimento Full-stack, confira o Diploma PG do upGrad & IIIT-B em Desenvolvimento de Software Full-stack, projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso, mais de 9 projetos e atribuições, status de ex-alunos do IIIT-B, projetos práticos práticos e assistência de trabalho com as principais empresas.

Torne-se um Desenvolvedor Full Stack

UPGRAD E DIPLOMA PG DO IIIT-BANGALORE EM DESENVOLVIMENTO DE SOFTWARE
Registrar agora