[解決済み] Angularで、配列内のオブジェクトを検索したい。
2022-05-16 23:49:34
質問
Angularで、私はたくさんのオブジェクトを返すオブジェクトをスコープに持っています。それぞれはIDを持っています(これはフラットファイルに格納されているので、DBはありません。
ng-resource
)
私のコントローラでは
$scope.fish = [
{category:'freshwater', id:'1', name: 'trout', more:'false'},
{category:'freshwater', id:'2', name:'bass', more:'false'}
];
私のビューでは、魚に関する追加情報をデフォルトで非表示にしています。
ng-show
more で隠していますが、単純な show more タブをクリックしたときに
showdetails(fish.fish_id)
.
私の関数は次のようなものです。
$scope.showdetails = function(fish_id) {
var fish = $scope.fish.get({id: fish_id});
fish.more = true;
}
これで、ビューに詳細が表示されるようになりました。しかし、ドキュメントを検索した結果、その
fish
の配列を検索する方法がわかりません。
では、どのように配列に問い合わせるのでしょうか?また、コンソールでデバッガを呼び出して
$scope
オブジェクトで遊べるようにするには?
どのように解決するのですか?
少しはお役に立てたでしょうか。
以下は、私があなたのためにシミュレーションしてみたものです。
jsFiddleをチェックアウトしてください ;)
http://jsfiddle.net/migontech/gbW8Z/5/
ng-repeat」でも使えるフィルタを作成しました。
app.filter('getById', function() {
return function(input, id) {
var i=0, len=input.length;
for (; i<len; i++) {
if (+input[i].id == +id) {
return input[i];
}
}
return null;
}
});
コントローラでの使用法。
app.controller('SomeController', ['$scope', '$filter', function($scope, $filter) {
$scope.fish = [{category:'freshwater', id:'1', name: 'trout', more:'false'}, {category:'freshwater', id:'2', name:'bass', more:'false'}]
$scope.showdetails = function(fish_id){
var found = $filter('getById')($scope.fish, fish_id);
console.log(found);
$scope.selected = JSON.stringify(found);
}
}]);
何か質問があれば言ってください。
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] 2つのJavaScriptオブジェクトのプロパティを動的にマージするにはどうすればよいですか?
-
[解決済み] HTML5のlocalStorageにオブジェクトを格納する方法は?
-
[解決済み] JavaScriptのオブジェクトの配列からidでオブジェクトを検索する
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] SVG のテキスト要素の幅を取得する
-
[解決済み] $.when.apply($, someArray)は何をするのですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] jQueryでDIVを別のDIVに複製する
-
[解決済み] コンソールで変数のトレースを行う場合、どのように改行すればよいのでしょうか?
-
[解決済み] React Router v4 <NavLink>と<Link>の違いについて
-
[解決済み] React.jsでテキスト入力のchange/focusOutイベントを正しくキャッチする方法とは?
-
[解決済み] JavaScript 予期せぬ事態に対する可能な反復処理
-
[解決済み] Firefox で ES2015 のインポートが機能しない(トップレベルでも)。
-
[解決済み] マウスオーバー時のマウスカーソルをアンカーのようなスタイルに変更する
-
[解決済み] Chrome、Javascript、window.open in new tabについて
-
[解決済み] ネストされたJSONオブジェクト - すべてに配列を使用しなければならないのか?