Aplicaciones de AngularJS
- Página anterior Rutas de AngularJS
- Página siguiente Ejemplos de AngularJS
Es hora de crear una aplicación real de AngularJS.
Crear lista de compras
Vamos a usar algunas características de AngularJS para crear una lista de compras donde puedes agregar o eliminar productos:
Mi lista de compras
- {{x}}×
{{errortext}}
Descripción de la aplicación
Paso 1: Comenzar
Primero crear un nombre myShoppingList
la aplicación y agregar una llamada myCtrl
controlador.
El controlador nombrado products
para agregar el array actual a $scope
en.
En HTML, usamos ng-repeat
la instrucción para mostrar la lista de elementos del array.
Ejemplo
Hasta ahora, hemos creado una lista HTML basada en los elementos del array:
<script> var app = angular.module("myShoppingList", []); app.controller("myCtrl", function($scope) { $scope.products = ["牛奶", "面包", "奶酪"]; }); </script> <div ng-app="myShoppingList" ng-controller="myCtrl"> <ul> <li ng-repeat="x in products">{{x}}</li> </ul> </div>
Paso 2: Añadir productos
En HTML, agregar un campo de texto y usar ng-model
la instrucción para绑定了应用程序。
En el controlador, creamos una función llamada addItem
la función y usar addMe
El valor del campo de entrada agregará el producto a products
en el array.
Añadir un botón y especificar una ng-click
Instrucción, esta instrucción se ejecutará al hacer clic en el botón. addItem
Función.
Ejemplo
Ahora podemos agregar productos a la lista de compras:
<script> var app = angular.module("myShoppingList", []); app.controller("myCtrl", function($scope) { $scope.products = ["牛奶", "面包", "奶酪"]; $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()">Agregar</button> </div>
Paso 3: Eliminar productos
También queremos poder eliminar productos de la lista de compras.
En el controlador, creamos una función llamada removeItem
La función que recibirá como parámetro el índice del artículo que desea eliminar.
En HTML, creamos un <span> para cada artículo <span>
y le proporciona un ng-click
Directiva, que utiliza el elemento actual $index
Llamada removeItem
Función.
Ejemplo
Ahora podemos eliminar productos de la lista de compras:
<script> var app = angular.module("myShoppingList", []); app.controller("myCtrl", function($scope) { $scope.products = ["牛奶", "面包", "奶酪"]; $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()">Agregar</button> </div>
Paso 4: Manejo de errores
La aplicación tiene algunos errores, por ejemplo, si intenta agregar el mismo producto dos veces, la aplicación se colapsa. Además, no debería permitirse agregar productos vacíos.
Resolvemos este problema verificando el valor antes de agregar un nuevo producto.
En HTML, agregaremos un contenedor para el mensaje de error y escribiremos el mensaje de error cuando alguien intente agregar un producto existente.
Ejemplo
Lista de compras, puede escribir mensajes de error:
<script> var app = angular.module("myShoppingList", []); app.controller("myCtrl", function($scope) { $scope.products = ["牛奶", "面包", "奶酪"]; $scope.addItem = function () { $scope.errortext = ""; if (!$scope.addMe) {return;} if ($scope.products.indexOf($scope.addMe) == -1) { $scope.products.push($scope.addMe); } else { $scope.errortext = "该商品已经在您的购物清单中。"; } } $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()">Agregar</button> <p>{{errortext}}</p> </div>
Paso 5: Diseño
La aplicación puede ejecutarse, pero se puede utilizar un diseño mejor. Usamos las tablas de estilo W3.CSS para diseñar nuestra aplicación.
Añada las tablas de estilo W3.CSS e incluya las clases apropiadas en toda la aplicación, el resultado será el mismo que la lista de la cesta en la parte superior de esta página.
Ejemplo
Use las tablas de estilo W3.CSS para diseñar su aplicación:
<link rel="stylesheet" href="https://www.codew3c.com/lib/style/w3.css">
- Página anterior Rutas de AngularJS
- Página siguiente Ejemplos de AngularJS