Clicky

Skocz do zawartości


Zdjęcie
- - - - -

Angular - ng-repeat/ nr iteracji

1 odpowiedź w tym temacie

  • Zaloguj się, aby dodać odpowiedź

#1 polak

polak

    Początkujący

  • Użytkownik
  • Pip
  • 1 postów

Napisano 10 maj 2016 - 18:28

Witam serdecznie. Mam problem ze zrozumieniem skąd się bierze wartość $index w poniższym kodzie. Ogólnie przerobiłem sporo materiałów i wygląda na to jakby sama dyrektywa ng-repeat ustawiała tę wartość. Ale do rzeczy:

kod widoku:

	<div ng-repeat="product in products" class="col-md-6">
          <div class="thumbnail">
            <img ng-src="{{ product.cover }}">
            <p class="title">{{ product.name }}</p>
            <p class="price">{{ product.price | currency }}</p>
            <p class="date">{{ product.pubdate | date }}</p>
            <div class="rating">
              <p class="likes" ng-click="plusOne($index)">{{ product.likes }}</p>
            </div>
          </div>
        </div>

kod kontrolera:

app.controller('MainController',['$scope', function($scope) {
  $scope.title = 'My Own String';
  $scope.promo = "4444444dfgdg";
  $scope.products = 
    [
    	{
    		name: 'Ksiazka 1',
      	price: 19,
        pubdate: new Date('2015', '03', '08'),
        cover: 'ksiazka1.jpg',
        likes: 0
      },
    	{
      	name: 'Ksiazka2',
        price: 8,
        pubdate: new Date('2014', '02', '01'),
        cover: 'ksiazka2.jpg',
        likes: 0
    	},
    ];
  $scope.plusOne = function(index) {
  	$scope.products[index].likes +=1; 
  };

W kontrolerze jest właściwość plusOne, która ma z założenia dodawać "lajki" i jest do niej przypisana funkcja, która jako parametr dostaje nr iteracji.

Chciałbym, aby ktoś potwierdził moje rozumowanie albo wyjaśnił skąd funkcja dostająca właściwość $index, wie że to jest akurat nr iteracji, a nie czegoś innego i że to jest numer, a nie np. string.



#2 kirk

kirk

    Początkujący

  • Użytkownik
  • Pip
  • 1 postów

Napisano 11 czerwiec 2016 - 13:18

$index w kodzie to dokładnie index obiektu w tablicy . Funkcja przechwytuje index obiektu jako numer i tyle. 

 

Pozdrawiam






Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych