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

1.9K
Visualizações
Codility como botón angular

hola tengo un problema con los ejercicios de codility en la plaza, estoy tratando de hacer algo 2 dias y nada nadie tiene solucion

Cree un componente de botón Me gusta usando Angular (v4). Exporte el componente del botón Me gusta como "LikeButtonComponent" (clase de exportación LikeButtonComponent).

Requisitos:

Debería haber un botón Me gusta: el contenido del botón Me gusta debe tener el siguiente formato: "Me gusta | 100", donde 100 es el número total de Me gusta. Debe tener una clase de "botón me gusta". Envuelva el número de Me gusta en un lapso con una clase de "me gusta-contador". El número inicial de Me gusta en el contador debe ser 100.

Los usuarios pueden agregar un me gusta. Al hacer clic en el botón: El número de Me gusta debería aumentar en uno. El botón Me gusta debe tener una clase "me gusta" además de la clase "botón me gusta".

Los usuarios pueden deshacer su Me gusta haciendo clic nuevamente en el botón: El contador debería disminuir en uno. La clase "Me gusta" debe eliminarse.

y codigo

 import { Component, Injectable } from '@angular/core'; @Component({ selector: 'like-button', template: ` <h2> <span ><button (click)="buttonCliked()">Like |{{ likebutton.likeCounter }}</button></span > </h2> `, styles: [` .like-button { font-size: 1rem; padding: 5px 10px; color: #585858; } .liked { font-weight: bold; color: #1565c0; } `] }) export class LikeButtonComponent { public likeCounter = 100; constructor(private likeButton: LikeButton, private liked: Liked) {} buttonCliked(): void { this.changeLikeNumber(); this.toggleLike(); } private toggleLike(): void { this.liked.isLiked = !this.liked.isLiked; } private changeLikeNumber(): void { if (!this.liked.isLiked) { this.likeCounter = this.likeButton.increment(this.likeCounter); } else { this.likeCounter = this.likeButton.decrement(this.likeCounter); } } } export class LikeButton { constructor(private liked: Liked) {} increment(likeCounter: number) { likeCounter++; return likeCounter; } decrement(likeCounter: number) { likeCounter--; return likeCounter; } } export class Liked { isLiked = false; }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Debe usar algunas herramientas angulares como ngClass para agregar una clase dinámica basada en el clic del usuario. Además, se realizará en una función en función de la condición de que al usuario ya le haya liked el botón o no:

Ejemplo de trabajo de stackblitz

Código:

 import { Component, Injectable } from '@angular/core'; @Component({ selector: 'like-button', templateUrl: './button.component.html', styleUrls: ['./button.component.css'] }) export class ButtonComponent { likeCount= 100; isLiked = false; likeTheButton = () => { if(this.isLiked) this.likeCount--; else this.likeCount++; this.isLiked = !this.isLiked } }
 .like-button { font-size: 1rem; padding: 5px 10px; color: #585858; } .liked { font-weight: bold; color: #1565c0; }
 <button class="like-button" [ngClass]="{'liked':isLiked}" (click)="likeTheButton()"> Like | <span class="like-counter">{{ likeCount }}</span> </button>

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