Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

291
Visualizações
¿Cómo filtrar una clase en Angular?

Estoy tratando de mostrar en una lista los proyectos cuyo método "arduino" es igual a verdadero (es un booleano).

Intenté hacer *ngFor y *ngIf en la misma línea pero da error, así que al hacerlo en otra línea el sistema carga los proyectos cuyo método "arduino" es igual a 'falso' también, así que no trabajar bien

¿Cómo puedo filtrarlo desde component.ts para que solo se carguen los proyectos con el método project.arduino = true?

Aquí está el código en component.ts

 @Component({ selector: 'app-arduino-projects', templateUrl: './arduino-projects.component.html', styleUrls: ['./arduino-projects.component.css'], providers: [ProjectService] }) export class ArduinoProjectsComponent implements OnInit { public projects: Project[]; public url: string; constructor( private _projectService: ProjectService ) { this.projects = []; this.url = Global.url; } ngOnInit(): void { this.getProjects(); } getProjects(){ this._projectService.getProjects().subscribe( response => { if(response.projects){ this.projects = response.projects; **************** this is the property that I have to filter and I don't know how to do it } }, error => { console.log(error) } ) }

Y aquí está el código relevante en component.html

 <div class="project-list"> <ul> <li *ngFor="let project of projects" class="project"> <ng-container *ngIf="project.arduino == true"> ************ Here i filtered it in that way <a [routerLink]="['/project', project._id]"> <div class="image-box"> <div class="image"> <img src="{{ url+'get-image/'+project.imagefront }}" *ngIf="project.imagefront" /> </div> </div> </a> </ng-container> </li> </ul> </div>

De esta forma va cargando los proyectos cuyo project.arduino = false, no los muestra en pantalla pero desordena la lista en el navegador

estoy usando angular 13

¡Muchos gracias!

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Puede mover *ngFor al <ng-container> en lugar de *ngIf . Luego mueva la *ngIf a <li> . Para asegurarse de que solo aquellos <li> estén en DOM cuya condición sea true .

 <div class="project-list"> <ul> <ng-container *ngFor="let project of projects"> <li *ngIf="project.arduino == true" class="project"> <a [routerLink]="['/project', project._id]"> <div class="image-box"> <div class="image"> <img src="{{ url+'get-image/'+project.imagefront }}" *ngIf="project.imagefront" /> </div> </div> </a> </li> </ng-container> </ul> </div>
about 4 years ago · Juan Pablo Isaza Relatório

0

Creo que si el método "arduino" es booleano, solo necesitas hacer algo como:

 <ng-container *ngIf="this.project.arduino">

En su TypeScript intente agregar los proyectos adruino que son fieles a una nueva lista:

 this.newList = []; if (this.project.arduino) { this.newList.push(project) }

Entonces solo puede usar <li *ngFor="let project of newList" class="project"> y deshacerse de la condición <ng-container *ngIf="project.arduino == true">

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda