Applicazione AngularJS
- Pagina precedente Routing AngularJS
- Pagina successiva Esempio AngularJS
È il momento di creare un'applicazione AngularJS reale.
Crea una lista della spesa
Usiamo alcune funzionalità di AngularJS per creare una lista della spesa in cui puoi aggiungere o rimuovere prodotti:
La mia lista della spesa
- {{x}}×
{{errortext}}
Descrizione dell'applicazione
Passo 1: Inizia
Prima di tutto, crea un'applicazione chiamata myShoppingList
all'applicazione e aggiungi un nome myCtrl
è
Il controller chiamato products
Aggiungi l'array corrente al $scope
in.
Nell'HTML, utilizziamo ng-repeat
l'istruzione per visualizzare l'elenco degli elementi dell'array.
Esempio
Fino ad ora, abbiamo creato una lista HTML basata sugli elementi dell'array:
<script> var app = angular.module("myShoppingList", []); app.controller("myCtrl", function($scope) { $scope.products = ["latte", "pane", "formaggio"]; }); </script> <div ng-app="myShoppingList" ng-controller="myCtrl"> <ul> <li ng-repeat="x in products">{{x}}</li> </ul> </div>
Passo 2: Aggiungi prodotti
Nell'HTML, aggiungi un campo di testo e utilizza ng-model
l'istruzione per collegarla all'applicazione.
Nel controller, crea una funzione chiamata addItem
funzione e utilizza addMe
Il valore dell'input aggiungerà i prodotti al products
nella matrice.
Aggiungi un pulsante e assegna un ng-click
Istruzione, questa istruzione verrà eseguita quando si clicca sul pulsante. addItem
funzione.
Esempio
Ora possiamo aggiungere prodotti alla lista della spesa:
<script> var app = angular.module("myShoppingList", []); app.controller("myCtrl", function($scope) { $scope.products = ["latte", "pane", "formaggio"]; $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()">Aggiungi</button> </div>
Passo 3: Rimozione di prodotti
Speriamo anche di poter rimuovere prodotti dalla lista della spesa.
Nel controller, crea una funzione chiamata removeItem
funzione, che prenderà come parametro l'indice dell'elemento che desideri rimuovere.
Nell'HTML, crea un <span>
e fornisce un ng-click
direttiva, che utilizza l'elemento corrente $index
chiamata removeItem
funzione.
Esempio
Ora possiamo rimuovere un prodotto dalla lista della spesa:
<script> var app = angular.module("myShoppingList", []); app.controller("myCtrl", function($scope) { $scope.products = ["latte", "pane", "formaggio"]; $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()">Aggiungi</button> </div>
Passo 4: Gestione degli errori
L'applicazione ha alcuni errori, ad esempio, se tenti di aggiungere lo stesso prodotto due volte, l'applicazione si blocca. Inoltre, non dovrebbe essere permesso aggiungere prodotti vuoti.
Risolveremo questo problema aggiungendo un controllo prima di aggiungere un nuovo prodotto.
Nell'HTML, aggiungeremo un contenitore per il messaggio di errore e scrivere il messaggio di errore quando qualcuno tenta di aggiungere un prodotto esistente.
Esempio
Lista della spesa, puoi scrivere un messaggio di errore:
<script> var app = angular.module("myShoppingList", []); app.controller("myCtrl", function($scope) { $scope.products = ["latte", "pane", "formaggio"]; $scope.addItem = function () { $scope.errortext = ""; if (!$scope.addMe) {return;} if ($scope.products.indexOf($scope.addMe) == -1) { $scope.products.push($scope.addMe); } else { $scope.errortext = "Il prodotto è già nella tua lista della spesa."; } } $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()">Aggiungi</button> <p>{{errortext}}</p> </div>
Passo 5: Progettazione
L'applicazione può funzionare, ma può avere un design migliore. Usiamo la tabella di stile W3.CSS per progettare la nostra applicazione.
Aggiungi la tabella di stile W3.CSS e includi le classi appropriate in tutta l'applicazione, il risultato sarà lo stesso della lista della spesa in alto nella pagina.
Esempio
Usa la tabella di stile W3.CSS per progettare la tua applicazione:
<link rel="stylesheet" href="https://www.codew3c.com/lib/style/w3.css">
- Pagina precedente Routing AngularJS
- Pagina successiva Esempio AngularJS