单击后在ionic2中切换图标

时间:2016-07-23 13:36:59

标签: angular typescript ionic2 ionic3

我有项目列表,每个项目都有ion-icon

按钮
<ion-list>
        <ion-item *ngFor="let item of items">
          <ion-avatar item-left>
            <img src="{{item.logo}}" />
          </ion-avatar>

          <h2>{{item.name}}</h2>

            <button clear (click)="changeIcon(shop)" item-right>
                    <ion-icon name="ios-heart-outline" ></ion-icon>
            </button>
        </ion-item>
    </ion-list>

我想在点击按钮后将此图标更改为ios-heart

1 个答案:

答案 0 :(得分:4)

就像您在Ionic2 docs中看到的一样,您可以使用如下变量设置图标:

在您看来:

<ion-icon [name]="myIcon"></ion-icon>

然后在你的代码中:

export class MyFirstPage {
  // use the home icon
  myIcon: string = "home";
}

因此,在您的情况下,我将图标名称添加到数组中的每个元素

public items: [] = [
  {
    "logo" : "...",
    "name" : "...",
    "iconName" : "ios-heart-outline"
  },
  //...
];

然后在您看来,我改变了这段代码:

<button clear (click)="changeIcon(item)" item-right>
  <ion-icon [name]="item.iconName" ></ion-icon>
</button>

请注意,现在我们在changeIcon()方法中收到item所以我们所要做的就是更改图标的名称,如下所示:

public changeIcon(theItem): void {
    theItem.iconName = "ios-heart";
}