2017-06-02 14 views
6

Niedawno przeszedłem do Angular 4 z Angular 1 i wiele rzeczy wydaje mi się teraz nowością. Jeden z nich wydaje się odnosić do wiązania danych. W starej wersji zadeklarowałbym tablicę jako $ scope.arrname w kontrolerze JS i mogłem nawigować po niej w widoku HTML używając ng-repeat.Angular 4 Data Binding over ng-repeat

Teraz, gdy próbuję osiągnąć ten sam wynik, działa to tylko częściowo. Co ja robię źle?

Przykład: W komponencie zadeklarowałem testarr tablic testowych: any [] = [1,2,3];

{{testarr}} 
 
    > Prints 1,2,3 on the scrreen 
 

 

 
<ol> 
 
    <li ng-repeat="item in testarr">{{item}}ITEM Found!</li> 
 
</ol> 
 

 

 
>only iterates 1 time (ignoring the 2,3) in the array.

Dlaczego nie mój kod iteracyjne nad tablicy, jak to miało miejsce poprzednio ? Czego tu mi brakuje?

Odpowiedz

15

Należy użyć ngFor zamiast ng-repeat

<ol> 
    <li *ngFor="let item of testarr">{{item}}ITEM Found!</li> 
</ol> 
+0

Dzięki! To rozwiązuje to! – afabijan

+0

Więcej informacji: * ngInformacje o mikrosyntaksach: – afabijan

+0

https://namitamalik.github.io/NgRepeat-vs-ngFor/ – afabijan