のソート2層、IはNGリピートのために使用される次のコレクションを持っている:例えばNGリピート
$scope.pokedex = [{
type: "Fire",
pokemon: ["Charizard", "Moltres"]
},{
type: "Rock",
pokemon: []
},{
type: "Fighting",
pokemon: ["Machamp", "Hitmonchan"]
},{
type: "Dragon",
pokemon: []
}];
このコレクションには、ng-repeat
ディレクティブ内で解約します。実際のアプリケーションでは、コレクションはデータベースから取得されるため、ソートされない可能性があります。私はそれを次のようにソートしたい:ポケモンを優先する優先順位ソートタイプ。次に、各グループを名前でソートする。
を編集します。バックエンドデータの内容を明確にする必要があります。上記の例では、$scope.pokedex
は一定数のタイプで構成されています。これらはカテゴリです。アプリケーションはデータベースからPokemonを取得し、それに応じて各カテゴリのリストを入力します。ポケモンのリストが空であるかどうかにかかわらず、完全な範囲の型は意図的に配列にハードコードされ、変更されません。
ウェブページはng-repeat
を使用して生成される場合、以下のように、所望の最終状態がある:
- アコーディオンをリストとして体内にヘッダとしてそれぞれのタイプ、及びポケモンのリストが表示されています/表。
- すべての空のカテゴリは無効になっていますが、まだ見えますが、ヘッダーには特定のCSSフォーマットが指定されており、空ではないカテゴリの下に下にプッシュされます。
- 空のグループと空でないグループは、個別にカテゴリ/タイプ名でソートされます。
空のグループを下にプッシュし、名前で並べ替える以外はすべて実装されています。これが私の最後の実装要件です。
どうすればいいですか?事前に、またはの間にorderBy
、または他の実行可能なソリューションを介して行う方法がありますか?
次のコードは、それがデータベースから来て注文してみてください。バックエンドでもそれを行うことができ、ng-repeat orderByで実行できます。私はdbフェッチ段階でそれを行うことをお勧めします。私が正しく理解しているなら、おそらく望ましい解決策である人名 – holtc
@holtcによって、すべての人とカウントダウン(ポケモン)で一番最初に注文したいと思っていますが、まだプロトタイプの段階ですので、データベースのデータはまだありません。私はデモで使用するためのソリューションが必要です。これを私の質問に更新します。 – thegreatjedi
デモの場合、最終的にフロントエンドがデータを受け取る方法(私が知っているcop-out回答) – holtc