Javascript 如何在单击时调用一个函数,但在第二次单击(同一按钮)时调用另一个函数?有棱角的

Javascript 如何在单击时调用一个函数,但在第二次单击(同一按钮)时调用另一个函数?有棱角的,javascript,angular,angular-material,Javascript,Angular,Angular Material,我想动态单击以调用一个函数和另一个函数。这是半途而废,但我需要最好的方法。看看我的代码,我会进一步解释 我的html表格功能: <ng-container matColumnDef="country" > <mat-header-cell *matHeaderCellDef (click)="sortingCountryTableAsc() ? sortingCountryTableAsc() : sortingCountryTableDesc()"> Country

我想动态单击以调用一个函数和另一个函数。这是半途而废,但我需要最好的方法。看看我的代码,我会进一步解释

我的html表格功能:

<ng-container matColumnDef="country" >
  <mat-header-cell *matHeaderCellDef (click)="sortingCountryTableAsc() ? sortingCountryTableAsc() : sortingCountryTableDesc()"> Country </mat-header-cell>
  <mat-cell *matCellDef="let element"> {{element.country}} </mat-cell>
</ng-container>
Okey onclick function我想调用一个函数,然后在另一个函数上单击call second。
我知道我在角材质中有排序功能,但我不想使用它。

尝试以下方法:

<ng-container matColumnDef="country" >
  <mat-header-cell *matHeaderCellDef (click)="getDataForSort()">
    <span *ngIf="sortAsc">
      &uarr;
    </span>
    <span *ngIf="!sortAsc">
      &darr;
    </span>
    Country 
  </mat-header-cell>
  <mat-cell *matCellDef="let element"> {{element.country}} </mat-cell>
</ng-container>

试着这样做:

<ng-container matColumnDef="country" >
  <mat-header-cell *matHeaderCellDef (click)="getDataForSort()">
    <span *ngIf="sortAsc">
      &uarr;
    </span>
    <span *ngIf="!sortAsc">
      &darr;
    </span>
    Country 
  </mat-header-cell>
  <mat-cell *matCellDef="let element"> {{element.country}} </mat-cell>
</ng-container>

您可以使用可以包装布尔标志的高阶函数,并根据标志执行功能或其他功能:

const toggleFunction = (() => {
  let toggle = true;

  return () => {
   toggle = !toggle;

   console.log(toggle);
  }
})()

toggleFunction()
// false

toggleFunction()
// true


您可以使用可以包装布尔标志的高阶函数,并根据标志执行功能或其他功能:

const toggleFunction = (() => {
  let toggle = true;

  return () => {
   toggle = !toggle;

   console.log(toggle);
  }
})()

toggleFunction()
// false

toggleFunction()
// true


我建议总是调用同一个函数并使用布尔属性来切换请不要在人们费心回答问题后破坏你的问题。我建议总是调用同一个函数并使用布尔属性来切换请不要在人们费心回答问题后破坏你的问题。嗯,这是可行的。非常非常好。你能告诉我如何设置箭头向下的角度材料,仅此而已。谢谢。我不知道如何使用角度材料来添加箭头,因为我以前从未使用过角度材料,但我使用HTML实体编辑了我的答案,你可以查看他们的文档,但对我来说,他们的文档很难阅读()。嗯,这是工作。非常非常好。你能告诉我如何设置箭头向下的角度材料,仅此而已。谢谢。我不知道如何使用Angular Material来添加箭头,因为我以前从未使用过Angular Material,但我使用HTML实体编辑了我的答案to do arrows(),您可以查看他们的文档,但对我来说,他们的文档很难阅读()。