Direttiva ng-repeat AngularJS

Definizione e uso

ng-repeat La direttiva ripeterà un insieme di HTML per il numero specificato.

Ogni progetto dell'insieme HTML verrà ripetuto una volta.

La raccolta deve essere un array o un oggetto.

Attenzione:Ogni istanza ripetuta otterrà il proprio ambito, costituito dal progetto corrente.

Se hai una raccolta di oggetti:ng-repeat Le direttive sono molto adatte per creare tabelle HTML, mostrando una riga di tabella per ogni oggetto e mostrando i dati delle proprietà dell'oggetto. Vedi l'esempio sottostante.

Esempio

Esempio 1

Scrivi un titolo per ogni elemento dell'array records:

<body ng-app="myApp" ng-controller="myCtrl">
<h1 ng-repeat="x in records">{{x}}</h1>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
    $scope.records = [
        "Alfreds Futterkiste",
        "Berglunds snabbköp",
        "Centro comercial Moctezuma",
        "Ernst Handel",
    ]
});
</script>
</body>

Prova te stesso

Esempio 2

Scrivi una riga di tabella per ogni elemento dell'array records:

<table ng-controller="myCtrl" border="1">
    <tr ng-repeat="x in records">
        <td>{{x.Name}}</td>
        <td>{{x.Country}}</td>
    </tr>
</table>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
    $scope.records = [
       {
            "Name" : "Alfreds Futterkiste",
            "Country" : "Germany"
        },
            "Name" : "Berglunds snabbköp",
            "Country" : "Sweden"
        },
            "Name" : "Centro comercial Moctezuma",
            "Country" : "Mexico"
        },
            "Name" : "Ernst Handel",
            "Country" : "Austria"
        }
    ]
});
</script>

Prova te stesso

Esempio 3

Scrivi una riga di tabella per ogni proprietà dell'oggetto:

<table ng-controller="myCtrl" border="1">
    <tr ng-repeat="(x, y) in myObj">
        <td>{{x}}</td>
        <td>{{y}}</td>
    </tr>
</table>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
    $scope.myObj = {
        "Name" : "Alfreds Futterkiste",
        "Country" : "Germany",
        "City" : "Berlin"
    }
});
</script>

Prova te stesso

Sintassi

<elemento ng-repeat="espressione</elemento>

Tutti gli elementi HTML supportano.

Parametro

Parametro Descrizione
espressione

Espressione che specifica come iterare l'insieme.

Esempio di espressione legale:

x in records

(key, value) in myObj

x in records track by $id(x)