单击角度6中的按钮时调用不同的功能

时间:2019-02-13 18:31:54

标签: angular

嘿,我可能知道如果有某种可能性,我们可以在单击同一按钮时调用不同的函数,例如第一次单击我要调用函数A,然后第二次单击我要调用函数B。 如是?然后请帮助

<button (click)="onclick()" type="button">Save </button?

然后第一次单击后我要调用函数A

functionA()
{
}

然后再次单击功能B

functionB()
{
}

3 个答案:

答案 0 :(得分:2)

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

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

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


  }



  }

答案 1 :(得分:0)

单线...

X'_train: (5000 * n) array([[-0.06273048, 0.01809097, -0.00312041, ..., 0. , 0. , 0. ], [-0.00116663, -0.00797115, 0.01432938, ..., 0. , 0. , 0. ], [ 0.02516683, 0.00373459, -0.00649857, ..., 0. , 0. , 0. ], Y'_train: (5000 * n) array([[ 0.00669351, -0.03128811, -0.1423065 , ..., 0. , 0. , 0. ], [ 0.00133531, 0.01361822, -0.04083589, ..., 0. , 0. , 0. ], [-0.01988083, -0.04251724, -0.16295213, ..., 0. , 0. , 0. ],

将首先点击功能A。功能B将在之后每次被点击。

答案 2 :(得分:0)

让我们说出您要调用function_A的第一次单击。再次单击function_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中的button属性下设置“(click)= clicks()”。

我希望这会起作用。