Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

255
Vistas
Cargar elementos en matriz dinámicamente en Angular

Creé un control deslizante personalizado en el que intento cargar elementos uno por uno cuando el usuario hace clic en los botones siguiente y anterior.

Enlaces: https://stackblitz.com/edit/angular-ivy-rwuxjd?file=src%2Fapp%2Fapp.component.ts

Inicialmente estoy cargando solo el primer valor de una matriz en la matriz de preguntas

 ngOnInit(): void { var formData=new FormData(); formData.append("test",'test'); this.http.post(this.baseUrl+'api/auth/fetch', formData).subscribe(result => { this.questions_lists = result; this.temp_questions_lists.push(this.questions_lists[0]);

questions_lists contiene todos los resultados de la base de datos, pero temp_questions_lists contiene solo el primer elemento de una matriz. Ahora, en los botones siguiente y anterior, intento borrar la matriz y cargar el siguiente valor de la matriz question_lists en la matriz temp_questions_lists .

 onNext() { if (this.counter != this.questions_lists.length - 1) { this.counter++; this.temp_questions_lists=[]; this.temp_questions_lists=this.questions_lists[this.counter]; } } onPrevious() { if (this.counter > 0) { this.counter--; this.temp_questions_lists=[]; this.temp_questions_lists.push(this.questions_lists[this.counter]); } }

La primera vez que se cargan los datos en el control deslizante, pero la próxima vez que hago clic en el botón siguiente, aparece este error:

Error: error al intentar diferenciar '[objeto Objeto]'. Solo se permiten arreglos e iterables

Cualquier solución es muy apreciada Gracias.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Debe usar .push() en lugar de asignar.

 onNext() { if (this.counter != this.questions_lists.length - 1) { this.counter++; this.temp_questions_lists=[]; this.temp_questions_lists.push(this.questions_lists[this.counter]); } }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda