Aplicação AngularJS
- Página Anterior Roteamento AngularJS
- Próxima Página Exemplo AngularJS
É hora de criar um verdadeiro aplicativo AngularJS.
Criar lista de compras
Vamos usar algumas funcionalidades do AngularJS para criar uma lista de compras onde você pode adicionar ou remover produtos:
Minha lista de compras
- {{x}}×
{{errortext}}
Descrição do aplicativo
Passo 1: Iniciar
Primeiro, crie um chamado myShoppingList
aplicativo, e adicione um chamado myCtrl
controlador.
controlador chamado products
adicionar o array atual ao $scope
no qual.
No HTML, usamos ng-repeat
instrução para exibir a lista de itens do array.
Exemplo
Até agora, já criamos uma lista HTML com base nos itens do array:
<script> var app = angular.module("myShoppingList", []); app.controller("myCtrl", function($scope) { $scope.products = ["leite", "pão", "queijo"]; }); </script> <div ng-app="myShoppingList" ng-controller="myCtrl"> <ul> <li ng-repeat="x in products">{{x}}</li> </ul> </div>
Passo 2: Adicionar produtos
No HTML, adicione um campo de texto e use ng-model
instrução para associá-la ao aplicativo.
No controlador, crie um chamado addItem
função e use addMe
O valor do campo de entrada adicionará o produto ao products
no array.
Adicione um botão e atribua um ng-click
Instrução, essa instrução será executada ao clicar no botão. addItem
função.
Exemplo
Agora podemos adicionar itens à lista de compras:
<script> var app = angular.module("myShoppingList", []); app.controller("myCtrl", function($scope) { $scope.products = ["leite", "pão", "queijo"]; $scope.addItem = function () { $scope.products.push($scope.addMe); } }); </script> <div ng-app="myShoppingList" ng-controller="myCtrl"> <ul> <li ng-repeat="x in products">{{x}}</li> </ul> <input ng-model="addMe"> <button ng-click="addItem()">Adicionar</button> </div>
Passo 3: Exclusão de itens
Também gostaríamos de poder excluir itens da lista de compras.
No controlador, crie um chamado removeItem
função, que passará como parâmetro o índice do item que você deseja excluir.
No HTML, criaremos um para cada item <span>
e fornece um ng-click
instrução, que usa o elemento atual index atual
chamada removeItem
função.
Exemplo
Agora podemos excluir itens da lista de compras:
<script> var app = angular.module("myShoppingList", []); app.controller("myCtrl", function($scope) { $scope.products = ["leite", "pão", "queijo"]; $scope.addItem = function () { $scope.products.push($scope.addMe); } $scope.removeItem = function (x) { $scope.products.splice(x, 1); } }); </script> <div ng-app="myShoppingList" ng-controller="myCtrl"> <ul> <li ng-repeat="x in products"> {{x}}<span ng-click="removeItem($index)×</span> </li> </ul> <input ng-model="addMe"> <button ng-click="addItem()">Adicionar</button> </div>
Passo 4: Tratamento de erros
O aplicativo tem alguns erros, por exemplo, se você tentar adicionar o mesmo produto duas vezes, o aplicativo pode travar. Além disso, também não deve ser permitido adicionar produtos vazios.
Vamos resolver isso adicionando uma verificação de valor antes de adicionar um novo produto.
No HTML, adicionaremos um contêiner para a mensagem de erro e escreveremos a mensagem de erro quando alguém tentar adicionar um produto existente.
Exemplo
Lista de compras, pode inserir uma mensagem de erro:
<script> var app = angular.module("myShoppingList", []); app.controller("myCtrl", function($scope) { $scope.products = ["leite", "pão", "queijo"]; $scope.addItem = function () { $scope.errortext = ""; if (!$scope.addMe) {return;} if ($scope.products.indexOf($scope.addMe) == -1) { $scope.products.push($scope.addMe); } else { $scope.errortext = "O produto já está na sua lista de compras."; } } $scope.removeItem = function (x) { $scope.errortext = ""; $scope.products.splice(x, 1); } }); </script> <div ng-app="myShoppingList" ng-controller="myCtrl"> <ul> <li ng-repeat="x in products"> {{x}}<span ng-click="removeItem($index)×</span> </li> </ul> <input ng-model="addMe"> <button ng-click="addItem()">Adicionar</button> <p>{{errortext}}</p> </div>
Passo 5: Design
A aplicação pode ser executada, mas pode usar um design melhor. Usamos a tabela de estilos W3.CSS para projetar nossa aplicação.
Adicione a tabela de estilos W3.CSS e inclua as classes apropriadas em toda a aplicação, o resultado será o mesmo que a lista de compras no topo desta página.
Exemplo
Use a tabela de estilos W3.CSS para projetar sua aplicação:
<link rel="stylesheet" href="https://www.codew3c.com/lib/style/w3.css">
- Página Anterior Roteamento AngularJS
- Próxima Página Exemplo AngularJS