これでオブジェクトのコレクションを表示する単純なページが表示されますng-repeat="(key, value) in data| groupBy: 'Id'"
既知のプロパティでデータをグループ化し、いずれかのフィールドで集計を実行したいと思います。 私はこれを容易にするためにgroupByフィルタを利用してangular-filter.js
ライブラリを使用しました。 問題は、集計合計を実行し、グループごとに1つの行だけを表示したいということです。つまり、オブジェクトの配列があるとします。angularjsのグループ化と合計でプロパティを実行
`[{Id:1,name:"harry",volume:500},
{Id:1,name:"harry",volume:200},
{Id:2,name:"Fred",volume:150},
{Id:2,name:"Fred",volume:500},
{Id:3,name:"Sally",volume:450},
{Id:3,name:"Sally",volume:100}
]`
上記のように、ボリュームは一意のIDで異なります。 私はidと集約ボリューム(合計)でグループ化した後、これを下に戻したいと思います。私は場合によっては2つのディスプレイすなわち(全行)と(グループ化された行)を切り替えたい
`[{Id:1,name:"harry",volume:700},
{Id:1,name:"Fred",volume:650},
{Id:1,name:"Sally",volume:550}
]`
EDIT 。私はng-show
を使用して、どの表示を表示するかを決定するためのチェックボックスフラグを使用して実装しました。ここで行ったように特別なマークを書く必要なしにこれを行います。MyPlunkr SAMPLE
この方法は私の好みです余分なマークアップを書くことなくこれを行うための要件です。おそらくカスタムフィルターで十分でしょうか?
あなたのIDがキーとして使用され、各IDキーのデータを取り込み/更新するためにIDを使用する非常に簡単なオブジェクト – charlietfl
グループ化を行うJQuery関数の使用を検討し、角度コントローラから呼び出します。 –