elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Resuelto] Problema Filtro Angular JS
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Resuelto] Problema Filtro Angular JS  (Leído 2,239 veces)
str_null

Desconectado Desconectado

Mensajes: 16



Ver Perfil
[Resuelto] Problema Filtro Angular JS
« en: 1 Septiembre 2015, 01:35 am »

Hola, vengo con una duda a ver si alguien puede echarme una mano.

Estoy con una galería de imagenes. El funcionamiento es como sigue. Primero aparece una imagen para cada coleccion. Si el usuario pulsa una de las imagenes abre una ventana modal con todas las fotos de la coleccion. Si el usuario pulsa una de las fotos de la coleccion se abre en grande esa foto.

Bien, tengo mas o menos todo montado y va bien pero no logro saber como hacer un filtro dinámico que muestre solo las fotos de la coleccion que el usuario pulsa para concretar os copio el código la idea que llevo.

Asi declaro el objeto de la galeria con las rutas y la coleccion que pertenece cada imagen. Pongo una aunque imaginais son mas.

Código
  1. $scope.galleryItems = [
  2.    {"portada" : true,  "collection" : 1, "miniature" : "rutaminiatura.jpg", "source" : rutaimagen.jpg", "alt" : "textoalt"},
  3.  
  4.    ];
  5.  

Uso ng-repeat en la galeria para listar primero las portadas, que son el link digamos a cada coleccion:
Código
  1. <div ng-repeat="galleryItem in galleryItems | startFrom : (currentPage - 1) * pageSize | limitTo : pageSize | filter: {portada : true}">
  2.  
  3. <img src="{{galleryItem.miniature}}" alt="{{galleryItem.alt}}" ng-click="showCollection($index, {{galleryItem.collection}})"></img>
  4.  

En caso de hacer click a una coleccion llama la funcion showCollection a la que paso el indice y la coleccion que tiene que mostrar. La funcion showCollection muestra una ventana modal asi:
Código
  1. $scope.showCollection=function (index, Ncollection) {
  2.  alert(Ncollection);
  3.  $scope.numCollection = Ncollection;
  4.  
  5.  var modalInstance = $modal.open({
  6.      templateUrl: 'views/gallery-collection.html',
  7.      controller:'GalleryCollectionCtrl',
  8.          resolve: {
  9.                    galleryObj: function() {
  10.                        return $scope.galleryItems;
  11.                    },
  12.                    ind: function() {
  13.                      return index + ($scope.currentPage-1)*$scope.pageSize;
  14.                    },
  15.  
  16.            }
  17.        });
  18.  

Y ahora viene cuando la matan, ese template contiene lo siguiente

Código
  1. <section class="gallery">
  2. <ul class="row">
  3.  
  4. <li class="col-xs-12 col-sm-4" ng-repeat= "galleryItemC in galleryItemsC | [i][b]filterCollection : true[/b][/i]">
  5. <p>{{$scope.numCollection}}ASDASD</p>
  6. <img role="button" src="{{galleryItemC.miniature}}" ng-click="showModal($index)" />
  7. </li>
  8.  
  9. </ul>
  10. <i ng-click="cancel()" class="exit fa fa-times"></i>
  11. </div>
  12. </div>
  13. </section>

He intentado añadir un filtro que no ha funcionado en negrita lo marco es el siguiente

Código
  1. .filter ('filterCollection', function() {
  2.  return function(data) {
  3.    return data.collection == $scope.numCollection;
  4.  }

Aun asi no funciona. Pero mi duda es como creeis que puedo hacer para filtrar solo las imagenes de una coleccion cuyo valor almaceno en una variable y llega al controlador que controla el template. A partir de ahi como la uso para aplicarla a un filtro? Algo se me escapa.. a ver si podeis echarme un cable. Un saludo!


« Última modificación: 7 Septiembre 2015, 17:54 pm por #!drvy » En línea

Las aulas educan pero el tiempo enseña
str_null

Desconectado Desconectado

Mensajes: 16



Ver Perfil
Re: Problema Filtro Angular JS
« Respuesta #1 en: 1 Septiembre 2015, 01:43 am »

Ok, releyendo el mensaje he visto el fallo. Me había dejado de pasar la variable al controlador realmente por los puentes que hace al cambiar de controlador en cada ventana modal..andaba rayado y era una chorrada, en fin, gracias igual... Saludos


En línea

Las aulas educan pero el tiempo enseña
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
redireccionar en angular JS
Desarrollo Web
landerzx 0 3,456 Último mensaje 23 Agosto 2013, 16:23 pm
por landerzx
ayuda con laravel y angular
Desarrollo Web
landerzx 0 1,960 Último mensaje 1 Octubre 2013, 18:30 pm
por landerzx
Angular JS y el futuro del la web (software)
Desarrollo Web
[u]nsigned 8 5,224 Último mensaje 11 Junio 2015, 19:39 pm
por #!drvy
Angular JS (Angular Material)
Desarrollo Web
carwen 3 3,774 Último mensaje 20 Junio 2016, 21:46 pm
por daniela Vega
Mi primer controlador en Angular 1 (Problema con los inputs en HTML)
Desarrollo Web
Ali Baba 2 3,873 Último mensaje 10 Junio 2017, 17:05 pm
por Razzari
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines