Tôi đang làm việc trên một ứng dụng AngularJS xây dựng một bảng tính ra khỏi một mảng 2D được xây dựng bởi hàm ng-repeat
. Tôi hiện đang viết một hàm sẽ thay đổi giá trị ban đầu của mảng khi người dùng nhập các giá trị mới trên bảng tính. Điều này yêu cầu tôi truy cập vào điểm trong mảng ban đầu dựa trên chỉ mục hàng và chỉ mục cột của nó để tôi có thể thay đổi nó thành giá trị mới.
Tôi đã xem qua số ng-repeat API và thấy rằng nó có thuộc tính $index
cho phép tôi kiểm tra chỉ mục giá trị lặp lại hiện tại. Tuy nhiên, tôi thấy rằng nó sẽ chỉ cho tôi kiểm tra các chỉ số của các giá trị của bất cứ vòng lặp lặp lại bạn đang ở trong -. Không có vòng bên ngoài khác mà bạn cũng có thể trong
<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>
tôi muốn truy cập các $index
của outer
trong khi nằm trong vòng lặp inner
và cũng có thể truy cập vào số $index
của số inner
. Có cách nào để thực hiện việc này không? Tôi có kế hoạch chuyển các giá trị này làm tham số cho hàm tôi đang viết.
Có lẽ có một câu trả lời thẳng thắn hơn, nhưng tôi sẽ chỉ có thể tart kiểm tra ra ng-lặp lại, có lẽ bạn chỉ có thể viết chỉ thị của riêng bạn mà cụ thể xử lý trường hợp này cho bạn. Một câu hỏi hay. – shaunhusain
'$ parent. $ Index' hoặc có thể' $ parent(). $ Index' - Một trong hai thứ này sẽ hoạt động. – rGil
'$ parent. $ Index' hoạt động. Cảm ơn! – user2494584