En Angular, tengo en alcance un objeto que devuelve muchos objetos. Cada uno tiene una identificación (esto se almacena en un archivo plano, por lo que no hay base de datos, y parece que no puedo usarlo ng-resource
)
En mi controlador:
$scope.fish = [
{category:'freshwater', id:'1', name: 'trout', more:'false'},
{category:'freshwater', id:'2', name:'bass', more:'false'}
];
En mi opinión, tengo información adicional sobre los peces ocultos por defecto con ng-show
más, pero cuando hago clic en la pestaña simple mostrar más, me gustaría llamar a la función showdetails(fish.fish_id)
. Mi función se vería así:
$scope.showdetails = function(fish_id) {
var fish = $scope.fish.get({id: fish_id});
fish.more = true;
}
Ahora en la vista se muestran más detalles. Sin embargo, después de buscar en la documentación, no puedo averiguar cómo buscar esa fish
matriz.
Entonces, ¿cómo consulto la matriz? Y en la consola, ¿cómo llamo al depurador para tener el $scope
objeto con el que jugar?
fuente
Puede utilizar el servicio de filtro $ existente. Actualicé el violín de arriba http://jsfiddle.net/gbW8Z/12/
La documentación angular está aquí http://docs.angularjs.org/api/ng.filter:filter
fuente
$scope.selected
es / contiene? Haciendo una búsqueda rápida en el seleccionado he encontradong-selected
/ ngSelected:If the expression is truthy, then special attribute "selected" will be set on the element
. ¿Es esto lo mismo? En su ejemplo, ¿qué hace? GraciasPara agregar a la respuesta de @ migontech y también a su dirección su comentario de que "probablemente podría hacerlo más genérico", aquí hay una manera de hacerlo. Lo siguiente le permitirá buscar por cualquier propiedad:
La llamada a filtrar se convertiría entonces en:
Tenga en cuenta que eliminé el operador unario (+) para permitir coincidencias basadas en cadenas ...
fuente
Una solución fácil y sucia podría parecer
fuente
Angularjs ya tiene la opción de filtro para hacer esto, https://docs.angularjs.org/api/ng/filter/filter
fuente
Tus soluciones son correctas pero innecesariamente complicadas. Puede utilizar la función de filtro de JavaScript puro . Este es tu modelo:
Y esta es tu función:
También puede usar la expresión:
Más sobre esta función: LINK
fuente
Vi este hilo, pero quería buscar ID que no coincidieran con mi búsqueda. Código para hacer eso:
fuente