AngularJS orderByがngOptionsのtrack byで機能しない?
2023-09-30 12:30:33
質問
私は
ngOptions
と
track by
これは私のテンプレートです。
<select ng-model="asd" ng-options="user.id as user.name for user in users track by user.id | orderBy: 'name'">
これは私のコントローラです。
function AppCtrl($scope) {
$scope.users = [
{id : 25, name: 'Batista'},
{id : 26, name: 'Ultimate Warrior'},
{id : 27, name: 'Andre the giant'}
];
$scope.name = 'asdasd';
$scope.asd = 25;
}
を書きました。 のスニペットをJSBinで作成しました。 でデモしています。これの問題は、ソートが機能しないことです。カスタムフィルタを書くべきでしょうか?
どのように解決するのですか?
フィルタによるトラッキングを利用するために
track by
をフィルタの後に追加する必要があります。
代わりにこれを試してみてください。
user.id as user.name for user in users | orderBy: 'name' track by user.id
のドキュメントは
ngRepeat
のドキュメントでは、特に "Arguments" セクションでこのことに言及しています。
追跡式を指定する前に、式にフィルタを適用する必要があります。
と
例えば item in items | filter:searchTextトラック by item.id は、トラッキング式と組み合わせてアイテムにフィルタを適用するために使用されるかもしれないパターンです。
関連
-
[解決済み] `ui-router` $stateParams vs. $state.params
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み] 検索エンジンはAngularJSアプリケーションをどのように扱っているのか?
-
[解決済み] AngularJSのng-repeatでキーと値を反復処理する方法は?
-
[解決済み] AngularJSでチェックボックスの値のリストにバインドするにはどうすればいいですか?
-
[解決済み] なぜAngularJSはselectに空のオプションを含めるのですか?
-
[解決済み] AngularJS 。非同期データでサービスを初期化する
-
[解決済み] AngularJSでEnterキーを押したときにフォームを送信する
-
[解決済み] AngularJs $http.post() でデータが送信されない
-
[解決済み】Angularjsのng-modelがng-ifの中で動かない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
angularjs ローカルデータストレージ LocalStorage
-
[解決済み] ng-repeat内で$indexを使用して、クラスを有効にしてDIVを表示するにはどうすればよいですか?
-
[解決済み] AngularJSの$parentは何を意味するのですか?
-
[解決済み] 新しい/分離されたスコープを求める複数のディレクティブ [ngController, ...] がある。
-
[解決済み] AngularJSのリソースプロミス
-
[解決済み] controllerAs "プロパティを使用する理由は何ですか?
-
[解決済み] AngularJS: ngRouteが動作しない。
-
[解決済み] AngularJSとHandlebars - 両方必要なのかどうか
-
[解決済み] AngularJSを使用して、ブラウザのコンソールで$scope変数にアクセスするにはどうすればよいですか?
-
[解決済み] ng-repeat :単一フィールドによるフィルタリング