私は、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
にアクセスすることもできます。 これを行う方法はありますか?私はこれらの値を、私が書いている関数にパラメータとして渡すことを計画しています。私は一緒に私のバイオリンを入れていた一方で
:あなたは、私は私のデータと、そのようにあなたのコードを使用してすることができ感謝たぶんもっと簡単な答えがあるかもしれませんが、私はおそらくng-repeatをチェックアウトします。おそらく、あなたのためにこのケースを具体的に扱う独自のディレクティブを書くだけかもしれません。しかし、良い質問。 – shaunhusain
'$ parent。$ index'または' $ parent()。$ index' - この2つのうちの1つが動作するはずです。 – rGil
'$ parent。$ index'が動作します。ありがとう! – user2494584