W Angular mam w zakresie obiekt, który zwraca wiele obiektów. Każdy ma identyfikator (jest przechowywany w płaskim pliku, więc nie ma bazy danych i wydaje się, że nie jestem w stanie użytkownika ng-resource
)
W moim kontrolerze:
$scope.fish = [
{category:'freshwater', id:'1', name: 'trout', more:'false'},
{category:'freshwater', id:'2', name:'bass', more:'false'}
];
Moim zdaniem mam dodatkowe informacje o rybach ukrytych domyślnie im ng-show
więcej, ale kiedy kliknę prostą zakładkę pokaż więcej, chciałbym wywołać funkcję showdetails(fish.fish_id)
. Moja funkcja wyglądałaby tak:
$scope.showdetails = function(fish_id) {
var fish = $scope.fish.get({id: fish_id});
fish.more = true;
}
Teraz w widoku pojawia się więcej szczegółów. Jednak po przeszukaniu dokumentacji nie mogę dowiedzieć się, jak przeszukać tę fish
tablicę.
Jak więc zapytać o tablicę? A jak w konsoli wywołać debugger, żeby mieć $scope
obiekt do zabawy?
źródło
Możesz użyć istniejącej usługi $ filter. Zaktualizowałem skrzypce powyżej http://jsfiddle.net/gbW8Z/12/
Dokumentacja Angular jest tutaj http://docs.angularjs.org/api/ng.filter:filter
źródło
$scope.selected
jest / zawiera. Robi Szybkiego Wyszukiwania na wybrany znalazłemng-selected
/ ngSelected:If the expression is truthy, then special attribute "selected" will be set on the element
. Czy to jest to samo? Na twoim przykładzie, co to robi? DziękiAby dodać do odpowiedzi @ migontech, a także jego adres, komentarz, że „prawdopodobnie mógłbyś uczynić ją bardziej ogólną”, oto sposób, aby to zrobić. Poniższe umożliwiają wyszukiwanie według dowolnej nieruchomości:
Wezwanie do filtrowania wyglądałoby wówczas następująco:
Uwaga, usunąłem operator jednoargumentowy (+), aby umożliwić dopasowania oparte na ciągach znaków ...
źródło
Może wyglądać brudne i łatwe rozwiązanie
źródło
Angularjs ma już opcję filtrowania, aby to zrobić, https://docs.angularjs.org/api/ng/filter/filter
źródło
Twoje rozwiązania są poprawne, ale niepotrzebnie skomplikowane. Możesz użyć czystej funkcji filtru javascript . To jest twój model:
A to twoja funkcja:
Możesz też użyć wyrażenia:
Więcej o tej funkcji: LINK
źródło
Widziałem ten wątek, ale chciałem wyszukać identyfikatory, które nie pasują do mojego wyszukiwania. Kod do tego:
źródło