Gli ultimi tutorial di sviluppo web
 

AngularJS Applicazione


E 'il momento di creare una vera e propria applicazione AngularJS.


Fare una lista della spesa

Consente di utilizzare alcune delle caratteristiche AngularJS per fare una lista della spesa, dove si può aggiungere o rimuovere elementi:

My Shopping List

  • {{x}} ×

{{}} Errortext



impiego spiegato

Fase 1. Per iniziare:

Inizia facendo un'applicazione chiamata myShoppingList , e aggiungere un controller di nome myCtrl ad esso.

Il controllore aggiunge una serie di nome products agli attuali $scope .

In HTML, si usa il ng-repeat direttiva per visualizzare un elenco con gli elementi dell'array.

Esempio

Finora abbiamo fatto un elenco HTML in base agli elementi di un array:

<script>
var app = angular.module("myShoppingList", []);
app.controller("myCtrl", function($scope) {
    $scope.products = ["Milk", "Bread", "Cheese"];
});
</script>

<div ng-app="myShoppingList" ng-controller="myCtrl">
    <ul>
        <li ng-repeat="x in products">{{x}}</li>
    </ul>
</div>
Prova tu stesso "

Fase 2. Elementi che aggiunge:

In HTML, aggiungere un campo di testo, e associarlo al l'applicazione con il ng-model direttiva.

Nel controllore, fare una funzione denominata addItem , e utilizzare il valore della addMe campo di input per aggiungere un elemento al products array.

Aggiungere un pulsante, e dargli un ng-click direttiva che eseguirà il addItem funzione quando il pulsante viene premuto.

Esempio

Ora possiamo aggiungere elementi alla nostra lista della spesa:

<script>
var app = angular.module("myShoppingList", []);
app.controller("myCtrl", function($scope) {
    $scope.products = ["Milk", "Bread", "Cheese"];
    $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()">Add</button>
</div>
Prova tu stesso "

Fase 3. Rimuovere oggetti:

Vogliamo anche essere in grado di rimuovere elementi dalla lista della spesa.

Nel controllore, fare una funzione denominata removeItem , che prende l'indice della voce che si desidera rimuovere, come paramter

In HTML, fare un <span> elemento per ogni articolo, e dare loro un ng-click direttiva che chiama la removeItem funzione con l'attuale $index .

Esempio

Ora siamo in grado di rimuovere gli articoli dal nostro lista della spesa:

<script>
var app = angular.module("myShoppingList", []);
app.controller("myCtrl", function($scope) {
    $scope.products = ["Milk", "Bread", "Cheese"];
    $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)">&times;</span>
       
</li>
    </ul>
    <input ng-model="addMe">
    <button ng-click="addItem()">Add</button>
</div>
Prova tu stesso "

Fase 4. Gestione di errore:

L'applicazione dispone di alcuni errori, come se si tenta di aggiungere lo stesso articolo due volte, l'applicazione si blocca. Inoltre, non dovrebbe essere consentito di aggiungere elementi vuoti.

Fisseremo che controllando il valore prima di aggiungere nuovi elementi.

In HTML, aggiungeremo un contenitore per i messaggi di errore, e scrivere un messaggio di errore quando qualcuno tenta di aggiungere un elemento esistente.

Esempio

Una lista della spesa, con la possibilità di scrivere messaggi di errore:

<script>
var app = angular.module("myShoppingList", []);
app.controller("myCtrl", function($scope) {
    $scope.products = ["Milk", "Bread", "Cheese"];
    $scope.addItem = function () {
        $scope.errortext = "";
        if (!$scope.addMe) {return;}
        if ($scope.products.indexOf($scope.addMe) == -1) {
            $scope.products.push($scope.addMe);
        } else {
            $scope.errortext = "The item is already in your shopping list.";
        }
    }
    $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)">&times;</span>
        </li>
    </ul>
    <input ng-model="addMe">
    <button ng-click="addItem()">Add</button>
    <p>{{errortext}}</p>
</div>
Prova tu stesso "

Passo 5. Design:

L'applicazione funziona, ma potrebbe utilizzare un design migliore. Usiamo il foglio di stile per lo stile W3.CSS nostra applicazione.

Aggiungere il foglio di stile W3.CSS, e includere le classi corrette durante l'applicazione, e il risultato sarà lo stesso del carrello nella parte superiore di questa pagina.

Esempio

Stile l'applicazione utilizzando il foglio di stile W3.CSS:

<link rel="stylesheet" href="http://www.w3ii.com/lib/w3.css">
Prova tu stesso "