No Angular, tenho no escopo um objeto que retorna muitos objetos. Cada um tem um ID (armazenado em um arquivo simples, sem banco de dados e não consigo utilizá-lo ng-resource
)
No meu controlador:
$scope.fish = [
{category:'freshwater', id:'1', name: 'trout', more:'false'},
{category:'freshwater', id:'2', name:'bass', more:'false'}
];
Na minha opinião, tenho informações adicionais sobre os peixes ocultos por padrão com o ng-show
more, mas quando clico na guia simples mostrar mais, gostaria de chamar a função showdetails(fish.fish_id)
. Minha função seria algo como:
$scope.showdetails = function(fish_id) {
var fish = $scope.fish.get({id: fish_id});
fish.more = true;
}
Agora, na visualização, mais detalhes aparecem. No entanto, depois de pesquisar a documentação, não consigo descobrir como pesquisar esse fish
array.
Então, como faço para consultar a matriz? E no console como eu chamo o debugger para que eu tenha o $scope
objeto para brincar?
fonte
Você pode usar o serviço $ filter existente. Eu atualizei o violino acima http://jsfiddle.net/gbW8Z/12/
A documentação angular está aqui http://docs.angularjs.org/api/ng.filter:filter
fonte
$scope.selected
é / contém. Fazendo uma rápida pesquisa-on selecionado i encontradong-selected
/ ngSelected:If the expression is truthy, then special attribute "selected" will be set on the element
. Isso é o mesmo? No seu exemplo, o que isso faz? ObrigadoPara adicionar à resposta de @migontech e também ao endereço dele, o comentário de que você poderia "provavelmente torná-lo mais genérico", aqui está uma maneira de fazer isso. A seguir, você poderá pesquisar por qualquer propriedade:
A chamada para filtrar se tornaria:
Observe, removi o operador unário (+) para permitir correspondências baseadas em string ...
fonte
Uma solução suja e fácil pode parecer
fonte
Angularjs já tem a opção de filtro para fazer isso, https://docs.angularjs.org/api/ng/filter/filter
fonte
Suas soluções são corretas, mas desnecessariamente complicadas. Você pode usar a função de filtro de javascript puro . Este é o seu modelo:
E esta é a sua função:
Você também pode usar a expressão:
Mais sobre esta função: LINK
fonte
Vi este tópico, mas queria pesquisar por IDs que não correspondem à minha pesquisa. Código para fazer isso:
fonte