2014-04-04 3 views
0
<ul ng-repeat="item in items"> 
<li>{{item.name}}</li> 
</ul> 

JS는 ngrepeat

$scope.item = [ 
{ 
    "itemId": 1, 
    "name":"laptop" 
} 
]; 

내가 DB에 저장하거나 다른 곳에서 사용할 수 있습니다 미래에, 그래서 내 해당 itemId 할 항목의 $ 지수하려는 내에서 항목의 $ 인덱스를 얻을. <li>{{$index}}</li> 할 수 있지만 js 항목의 내 개체를 바인딩하는 방법?

+0

색인은 배열 색인 iirc이며 각 항목의 범위 내에서'{{itemId}} '를 사용하려는 경향이 있습니다. – Louis

+0

그래서 고정 된 itemId를 객체에 설정 한 다음 "itemId"처럼 새 항목이 들어 오면 1 + 1? $ index를 사용하는 대신? – user3398172

+0

[색인은 카운터 일뿐입니다] (http://docs.angularjs.org/api/ng/directive/ngRepeat) – Louis

답변

0

당신은

<li ng-bind="$inndex" ></li> 

와 결합 또는 ng-repeat의 개별 항목의 선택을위한

<li custom_tag="{{$index}}"></li> 
+0

어떻게하면 js 쪽 인덱스에 액세스하는 데 도움이됩니까? – user3398172

+0

그 사용 방법에 따라 달라집니다. 컨트롤러 내부에서 사용할 경우이 인덱스를 배열 인덱스로 저장할 필요가 없습니다. js면에서 반복하여 동일한 색인을 얻을 수 있습니다. ** 동일한 범위 – onsy

0

하나의 트릭에 의해 ID 또는 다른 태그에 저장할 수있는 동일한 요소에 controller의 포함이다 ng-repeat로.

ng-repeat 전용 컨트롤러에는 반복에 의해 생성 된 모든 새 항목이 포함되어 있습니다. ng-click은 해당 컨트롤러에서 함수를 호출하면 항목 선택을 수행합니다.

데모 확인 here.

<tbody ng-repeat="i in invoices" 
     ng-controller="RowCtrl" 
     ng-click="toggleRow()" 
     ng-switch on="isSelected()"> 
    <tr> 
     <td>{{i.name}}</td> 
     <td>{{i.company}}</td> 
    </tr> 
    <tr ng-switch-when="true"> 
     <td>{{i.invoice}}</td> 
     <td>{{i.units}}</td> 
    </tr>