Di Angular, saya memiliki sebuah objek yang mengembalikan banyak objek. Masing-masing memiliki ID (ini disimpan dalam file datar jadi tidak ada DB, dan saya sepertinya tidak dapat menggunakan ng-resource
)
Di pengontrol saya:
$scope.fish = [
{category:'freshwater', id:'1', name: 'trout', more:'false'},
{category:'freshwater', id:'2', name:'bass', more:'false'}
];
Dalam pandangan saya, saya memiliki informasi tambahan tentang ikan yang tersembunyi secara default dengan ng-show
more, tetapi ketika saya mengklik tab show more yang sederhana, saya ingin memanggil fungsinya showdetails(fish.fish_id)
. Fungsi saya akan terlihat seperti ini:
$scope.showdetails = function(fish_id) {
var fish = $scope.fish.get({id: fish_id});
fish.more = true;
}
Sekarang dalam tampilan, lebih banyak detail muncul. Namun setelah mencari melalui dokumentasi saya tidak tahu bagaimana mencari fish
array itu.
Jadi bagaimana cara menanyakan array? Dan di konsol, bagaimana saya memanggil debugger sehingga saya memiliki $scope
objek untuk dimainkan?
sumber
Anda dapat menggunakan layanan $ filter yang ada. Saya memperbarui biola di atas http://jsfiddle.net/gbW8Z/12/
Dokumentasi sudut ada di sini http://docs.angularjs.org/api/ng.filter:filter
sumber
$scope.selected
itu / berisi. Melakukan cepat-pencarian di dipilih saya menemukanng-selected
/ ngSelected:If the expression is truthy, then special attribute "selected" will be set on the element
. Apakah ini sama? Dalam contoh Anda, apa fungsinya? Terima kasihUntuk menambah jawaban @ migontech dan juga alamatnya pada komentarnya bahwa Anda "mungkin bisa membuatnya lebih umum", berikut cara melakukannya. Di bawah ini akan memungkinkan Anda untuk mencari berdasarkan properti apa pun:
Panggilan untuk memfilter kemudian akan menjadi:
Catatan, saya menghapus operator unary (+) untuk memungkinkan pencocokan berbasis string ...
sumber
Solusi yang kotor dan mudah terlihat seperti itu
sumber
Angularjs sudah memiliki opsi filter untuk melakukan ini, https://docs.angularjs.org/api/ng/filter/filter
sumber
Solusi Anda benar tetapi tidak perlu rumit. Anda dapat menggunakan fungsi filter javascript murni . Ini model Anda:
Dan inilah fungsi Anda:
Anda juga bisa menggunakan ekspresi:
Lebih lanjut tentang fungsi ini: LINK
sumber
Melihat utas ini tetapi saya ingin mencari ID yang tidak cocok dengan pencarian saya. Kode untuk melakukan itu:
sumber