Javascript 使用Angular,如何在两个函数之间切换?

Javascript 使用Angular,如何在两个函数之间切换?,javascript,angular,Javascript,Angular,我正在创建一个杂货清单应用程序,每行都有一个食品名称。左栏显示不需要的项目,右栏显示需要的项目。目前,我可以通过单击每列来更改状态。但是,我想在这两个函数之间切换,以便通过像现在一样单击列或仅单击行来切换状态 HTML: <ion-row id="test" (press)="delete(list)"> <ion-col class="offFoods" [ngClass]="{'grey-out': list.state == 'on'}" (tap)="addit

我正在创建一个杂货清单应用程序,每行都有一个食品名称。左栏显示不需要的项目,右栏显示需要的项目。目前,我可以通过单击每列来更改状态。但是,我想在这两个函数之间切换,以便通过像现在一样单击列或仅单击行来切换状态

HTML:

<ion-row id="test" (press)="delete(list)">
    <ion-col class="offFoods" [ngClass]="{'grey-out': list.state == 'on'}" (tap)="additem(list)">
        {{list.foodname}}
    </ion-col>
    <ion-col  class="onFoods" [ngClass]="{'grey-out': list.state == 'off'}" (tap)="unlist(list)">
        {{list.foodname}}
    </ion-col>
</ion-row>

您可以创建第三个参数或布尔数组,以指示列表中每个项目的状态

然后使用一个通用功能来调整要使用的功能

   changeFoodState(itemIndex: number)
   {
      if(state[itemIndex]){
         additem(list[itemIndex])
      }else {
         unlist(list[itemIndex])
      }
   }

您可以创建第三个参数或布尔数组,以指示列表中每个项目的状态

然后使用一个通用功能来调整要使用的功能

   changeFoodState(itemIndex: number)
   {
      if(state[itemIndex]){
         additem(list[itemIndex])
      }else {
         unlist(list[itemIndex])
      }
   }

由于列表是作为参数传递的,因此您可以引用当前状态并进行如下切换:

additem(list) {
var listkey = this.listKey;
var customlistData = {
  category: list.category,
  foodname: list.foodname,
  state: (list.state=="off")?"on":"off,
};

...

}
甚至可以将此函数重命名为toggleItem(list),然后将其移动到父行div:

<ion-row id="test" (press)="delete(list)" (tap)="toggleItem(list)">
...
</ion-row>

...

因为列表是作为参数传递的,所以您可以引用当前状态并按如下方式进行切换:

additem(list) {
var listkey = this.listKey;
var customlistData = {
  category: list.category,
  foodname: list.foodname,
  state: (list.state=="off")?"on":"off,
};

...

}
甚至可以将此函数重命名为toggleItem(list),然后将其移动到父行div:

<ion-row id="test" (press)="delete(list)" (tap)="toggleItem(list)">
...
</ion-row>

...