点击angular 6中的按钮调用不同的函数

点击angular 6中的按钮调用不同的函数,angular,Angular,嘿,我想知道,如果在angular中有任何可能性,我们可以在单击同一个按钮时调用不同的函数,就像在第一次单击时,我想调用函数A,然后在第二次单击时,我想调用函数B。 如果有的话?那么请帮忙 <button (click)="onclick()" type="button">Save </button? 然后第二次单击functionB functionB() { } 您可以在组件中定义属性,并具有单击时递增的逻辑。请看下面 export class MyComponent

嘿,我想知道,如果在angular中有任何可能性,我们可以在单击同一个按钮时调用不同的函数,就像在第一次单击时,我想调用函数A,然后在第二次单击时,我想调用函数B。 如果有的话?那么请帮忙

<button (click)="onclick()" type="button">Save </button?
然后第二次单击functionB

functionB()
{
}

您可以在组件中定义属性,并具有单击时递增的逻辑。请看下面

export class MyComponent {
  constructor() {}
  private buttonCounter:number = 0;

  click() {
  this.buttonCounter++;
  switch this.buttonCounter {
    case 1:
      functionA();
      break;
   case 2:
     functionB();
     break;
  default:
    break;


  }



  }
一行

保存


函数A将首先被命中。函数B将在每次之后被点击。

假设在第一次点击时,您想要调用函数A。在第二次点击时,函数B,依此类推

    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";
  };
在HTML中,在按钮属性下设置“(单击)=单击()


我希望这能奏效。

这真的不是“打字脚本”的做事方式。您应该使用像@Paul这样的组件属性suggested@SeaBiscuit实际上我是这个领域的初学者。但我尝试了保罗的建议。对我来说不起作用。
    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";
  };