ng-repeat
함수로 작성된 2D 배열에서 스프레드 시트를 만드는 AngularJS 앱에서 작업하고 있습니다. 나는 현재 사용자가 스프레드 시트에 새로운 값을 입력 할 때 배열의 초기 값을 변경하는 함수를 작성하고있다. 이를 위해서는 행 인덱스와 열 인덱스를 기반으로 초기 배열의 포인트에 액세스해야하므로 새 값으로 변경할 수 있습니다.
나는 ng-repeat API을 살펴본 결과 $index
속성이있어서 현재 반복되는 값의 색인을 확인할 수 있음을 알았습니다. 그러나, 나는 단지 내가 당신이 내부에 어떤 반복 루프의 값의 인덱스를 확인하게됩니다 것을 발견하고 -. 다른 외부 루프 당신은 또한에있을 수
<script>
data = [
[A1, B1, C1],
[A2, B2, C2],
[A3, B3, C3]
]
sheet= function($scope, $parse){
$scope.columns = [colA, colB, colC];
$scope.rows = data.length;
$scope.cells = {};
$scope.outer = data.map(function(c,row){
return c.map(function(data, ind){
return {
content: data,
model: null,
};
});
});
};
</script>
<div ng-app ng-controller="sheet">
<table>
<tr class="column-label">
<td ng-repeat="column in columns">{{column}}</td>
<tr ng-repeat="inner in outer">
<td class="row-label" ng-repeat="data in inner">
<div>
<input type="text" ng-model="data.content" value="{{data.content}}">
</div>
</td>
</tr>
</table>
</div>
나는 $index
에 액세스하려면 inner
루프 내에 있고 inner
의 $index
에 액세스 할 수도 있습니다. 이렇게하는 방법이 있습니까? 필자가 작성한 함수에 이러한 값을 매개 변수로 전달할 계획입니다. 내가 함께 내 바이올린을 넣는 동안
: 당신이 내 데이터를 그런 식으로 코드를 사용 할 수 있습니다 감사합니다 어쩌면 좀 더 솔직한 대답일지도 모르겠지만, tart는 ng-repeat를 체크 아웃합니다. 아마도이 케이스를 특별히 처리하는 자신 만의 지시어 일 수 있습니다. 그래도 좋은 질문입니다. – shaunhusain
'$ parent. $ index' 또는'$ parent(). $ index' -이 두 가지 중 하나가 작동해야합니다. – rGil
'$ parent. $ index'가 작동합니다. 감사! – user2494584