Hé, puis-je savoir que s'il y a une possibilité en angulaire que nous puissions appeler différentes fonctions différentes en cliquant sur le même bouton, comme au premier clic, je veux appeler la fonction A puis au deuxième clic, je veux appeler la fonction B. Si oui? puis pls help
functionB()
{
}
puis après avoir cliqué pour la première fois, je veux appeler la fonction A
functionA()
{
}
puis sur le deuxième clic functionB
<button (click)="onclick()" type="button">Save </button?
3 Réponses :
Vous pouvez définir une propriété dans votre composant et avoir une logique à incrémenter au clic. Veuillez voir ci-dessous ...
export class MyComponent {
constructor() {}
private buttonCounter:number = 0;
click() {
this.buttonCounter++;
switch this.buttonCounter {
case 1:
functionA();
break;
case 2:
functionB();
break;
default:
break;
}
}
Une doublure ...
La fonction A sera frappée en premier. La fonction B sera frappée à chaque fois après.
Disons qu'au premier clic, vous souhaitez appeler function_A. au deuxième clic function_B, et ainsi de suite.
clicks = (function() {
var first = true;
var second = true;
return function() {
if(first == true && second == true){
this.function_A();
second = false;
first = false;} else if(first == false && second == false){
this.function_B();
first = true;
second = false;} else if(first==true && second==false){
this.function_C();
first = false;
second = true;
}
else{
this.function_D();
first = true;
second = true;
}
}
})();
function_A() {
"do something";
};
function_B() {
"do something";
};
function_C() {
"do something";
};
function_D() {
"do something";
};
et en HTML, définissez la propriété "(click) = clicks ()" sous la propriété du bouton.
J'espère que cela fonctionnera .
Ce n'est vraiment pas la manière «dactylographiée» de faire les choses. Vous devriez aller avec la propriété du composant comme @Paul suggéré
@SeaBiscuit En fait, je suis un débutant dans ce domaine. Mais j'ai essayé ce que Paul a suggéré. n'a pas fonctionné dans mon cas.