2つのコレクションがあるとしましょう
var products = [{Name : "p1", Id : 1}, {Name : "p2", id : 2}];
var locSales = [
{LocName : "Loc1", Sales : [{Id : 1, Value : 23}, {Id : 2, Value : 54}]}
{LocName : "Loc2", Sales : [{Id : 1, Value : 78}, {Id : 2, Value : 90}]}
];
私はそれらをコントローラーのスコープにバインドします
$scope.products = products;
$scope.locSales = sales;
このデータから、次のような構造のテーブルを作成したい
Loc Name | P1 | P2
Loc1 | 23 | 54
Loc2 | 78 | 90
これを行うために、私が今行っていることは、locSales の Sales プロパティを次の構造に変更することです
var locSales = [
{LocName : "Loc1", Sales : {"1" : 23, "2" : 54}}
{LocName : "Loc2", Sales : {"1" : 78, "2" : 90}}
];
このように特定のIDにバインドできるように
<table>
<tr >
<td>Loc name</td>
<td ng-repeat="p in products">{{p.Name}}</td>
</tr>
<tr ng-repeat="s in locSales">
<td>{{s.LocName}}</td>
<td ng-repeat="p in products">
{{s.Sales[p.Id]}}
</td>
</tr>
<table>
angular jsで他の方法を使用してこれを達成するより良い方法はありますか。
コレクション内の特定の ID の要素にバインドする必要があります
ここで説明したプロセスは反復的であり、リソースを消費するだけでなく、見栄えもよくありません。