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

148
Visualizações
Cómo hacer un botón de alternancia en Angularjs

¿Cómo puedo hacer un botón que funcione como alternar? Mi función es algo como esto ->

 $scope.update=(id, command)=> { if (command === "remove") { //logic to remove } else if (command === "add") { //logic to add } }

aquí necesito pasar id y comando como parámetro en ng-click .

 <button ng-click="update(data.id, 'add')" class="btn btn-primary">Add</button> <button ng-click="update(data.id, 'remove')" class="btn btn-warning">Remove</button>

actualmente tengo que usar dos botones para hacer la tarea simple, ¿cómo puedo hacer que usando un botón pueda hacer lo mismo?

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

La pieza que te falta es almacenar el estado alternado del botón.

 $scope.toggleButton = { inAddState: true }; $scope.update = (id, button) => { if (button.inAddState) { // logic to add } else { // logic to remove } // make sure you switch the state of the button at some point button.inAddState = !button.inAddState; }
 <button ng-click="update(data.id, toggleButton)" class="btn {{ toggleButton.inAddState ? 'btn-primary' : 'btn-warning' }}" ng-bind="toggleButton.inAddState ? 'Add' : 'Remove'"> </button>

En este caso, solo hay dos lugares dentro del elemento donde se debe considerar el estado: la clase y el texto. En mi opinión, una vez que llega a tres o más, es más simple usar dos elementos con ng-if en lugar de tener un montón de condicionales dentro de un elemento. Por ejemplo, si desea que el atributo de title también sea condicional.

 <button ng-click="update(data.id, toggleButton)" ng-if="toggleButton.inAddState" class="btn btn-primary" title="Click to add"> Add </button> <button ng-click="update(data.id, toggleButton)" ng-if="!toggleButton.inAddState" class="btn btn-warning" title="Click to remove"> Remove </button>

en vez de

 <button ng-click="update(data.id, toggleButton)" class="btn {{ toggleButton.inAddState ? 'btn-primary' : 'btn-warning' }}" ng-bind="toggleButton.inAddState ? 'Add' : 'Remove'" title="Click to {{ toggleButton.inAddState ? 'add' : 'remove' }}"> </button>
about 4 years ago · Santiago Trujillo 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