angularjs - not - diferencias entre ng-submit y ng-click
is not clickable at point selenium python (5)
En angularjs me pregunto cuáles son las diferencias entre ng-submit y ng-click? Específicamente, pros y contras de cada uno y cuándo debería uno o el otro? ¡Gracias!
**EDITAR**
He analizado esto un poco más, pero aún me pregunto qué beneficio (si hay alguno) de utilizar ng-submit? ¿Podría usar un ng-clic en lugar de todos los ng-submits? ¿Esto causaría algún problema? ¡Gracias de nuevo!
Angular impide la acción predeterminada (envío del formulario al servidor), a menos que el elemento tenga especificados atributos de acción , acción de datos o acción x. Por lo tanto, al usar angular con formularios sin estos atributos, ng-click y ng-submit se pueden usar para especificar qué método javascript llamar. En cualquiera de las llamadas, puede obtener todos los valores de entrada en un ámbito debido a la propiedad de enlace de datos bidireccional de angular. ¿Podría usar un ng-clic en lugar de todos los ng-submits? ¿Esto causaría algún problema?
se puede usar pero al usar ng-click no tiene en cuenta los atributos de entrada html (como required, min-max, maxlength) y ejecuta inmediatamente el cuerpo del método.
La directiva ngSubmit se une al evento de envío en el navegador, que se activa cuando se envía un formulario.
De MDN:
Tenga en cuenta que el envío solo se activa en el elemento de formulario, no en el botón o no se envía la entrada. (Los formularios se envían, no los botones).
Por lo tanto, puede usarlo para enviar un formulario de registro de usuario, o algo así.
Por otro lado, la directiva ngClick se puede aplicar a cualquier tipo de elemento.
De la source :
La directiva ngClick le permite especificar el comportamiento personalizado cuando se hace clic en un elemento.
Úselo para permitirle a su usuario interactuar con su página de una manera diferente a la de enviar un formulario. Tal vez para hacer clic en un botón de búsqueda ''anterior'' o ''siguiente'', o tal vez un mapa o algo así.
Mi razón favorita para usar ng-submit
es que le permite presionar la <Enter>
mientras se enfoca en un ingreso de formulario, etc. y el formulario se enviará. (Suponiendo, por supuesto, que tiene un botón de type="submit"
en el formulario).
Es más amigable con el teclado y amigable para la accesibilidad que tener ng-click
en un botón, porque con ng-submit
, un usuario puede hacer clic en el botón Enviar o puede presionar <Enter>
.
Si queremos que el formulario no se envíe cuando no es válido, en lugar de hacer clic en el botón ng, usaremos la directiva ng-submit en el formulario mismo.
<div class="row">
<form name="adduser" ng-submit="AddUser(adduser.$valid)">
<div id="name-group" class="form-group-lg">
<input type="text"
required
name="name"
ng-model="userfullName"
class="form-control"
placeholder="Full Name">
</div>
En el ng-submit llamamos a una función AddUser desde el controlador con un parámetro formname. $ Valid. Esta función de envío solo se llamará cuando el formulario sea válido o, en otras palabras, toda la entrada del formulario por parte del usuario sea válida. Tenga en cuenta que en este caso no se enviarán si el formulario no es válido
Cuando usamos ng-click, el formulario será enviado incluso si no es válido. Dos observaciones para ng-click son las siguientes:
Pudimos enviar el formulario incluso si el formulario no era válido. Para las entradas no válidas, el valor se estableció como indefinido en el controlador.
ng-submit asociado a formularios, este evento se activa cuando envía el formulario. Donde ng-click puede funcionar sin el evento de envío de formulario