comment migrer la fonction ci-dessous de jquery en jj angulaire?
$( "#foo" ).trigger( "click" );
Le problème ici est que je prévois de déclencher automatiquement le bouton de soumission lorsque l’utilisateur remplira certaines données dans notre application.
donc comme im de fond jquery,
merci d'avance.
Habituellement, vous ne soumettez pas de formulaire dans AngularJS. Vous envoyez les données en utilisant un XHR et obtenez une réponse en JSON.
Quelque chose comme ça:
VUE
<form name="myForm" ng-submit="login(credentials)">
<label>
Username:
<input type="text" ng-model="credentials.username" />
</label>
<label>
Password:
<input type="password" ng-model="credentials.password" />
</label>
<button type="submit">Login</button>
</form>
MANETTE
$scope.credentials = {};
$scope.login = function login(credentials) {
var user = credentials.username;
var pass = credentials.password;
// Do some data validation
if (!user || !pass) {
$window.alert('Please, enter a username and a password!');
return;
}
// Send the data and parse the response
// (usually done via a Service)
LoginService.login(user, pass);
};
Voir aussi cette courte démo.
$scope.triggerClick = function () {
$timeout(function() {
angular.element('#foo').trigger('click');
}, 100);
};
Le délai d'attente $ s'exécutera et s'appliquera au cycle si nécessaire.
$timeout(function() {
angular.element(domElement).triggerHandler('click');
}, 0);
Le $timeout
sert à rompre le cycle $apply
de l’angulaire.