Esta duda se puede resolver de diversas maneras, sin embargo te mostramos la respuesta más completa para nosotros.
Solución:
La directiva ngClick (así como todas las demás directivas de eventos) crea $event
variable que está disponible en el mismo alcance. Esta variable es una referencia a JS event
objeto y se puede utilizar para llamar stopPropagation()
:
user.firstname
user.lastname
PLUNKER
Una adición a la respuesta de Stewie. En caso de que su devolución de llamada decida si la propagación debe detenerse o no, me resultó útil pasar el $event
objetar a la devolución de llamada:
Y luego, en la devolución de llamada, puede decidir si la propagación del evento debe detenerse:
$scope.childHandler = function ($event)
if (wanna_stop_it())
$event.stopPropagation();
...
;
Escribí una directiva que te permite limitar las áreas donde un clic tiene efecto. Podría usarse para ciertos escenarios como este, por lo que en lugar de tener que lidiar con el clic caso por caso, puede simplemente decir “los clics no saldrán de este elemento”.
Lo usarías así:
user.firstname
user.lastname
Tenga en cuenta que esto evitaría todos los clics en la última celda, no solo en el botón. Si eso no es lo que desea, puede ajustar el botón de esta manera:
Aquí está el código de la directiva:
angular.module('awesome', []).directive('isolateClick', function()
return
link: function(scope, elem)
elem.on('click', function(e)
e.stopPropagation();
);
;
);
Te mostramos comentarios y puntuaciones
Si entiendes que te ha resultado de ayuda este artículo, te agradeceríamos que lo compartas con el resto programadores y nos ayudes a difundir nuestra información.