Это связано с тем, как Javascript обрабатывает события (Event Bubbling).
Короче говоря, вы можете сделать это:
Передача события и вызов метода stopPropagation, как здесь.
In .html
<ion-item *ngFor="let name of names">
<p>{{name.username}}</p>
<button ion-button [someAttribute]="isLoad" (click)="clickTest($event, name.id)">
Click
</button>
</ion-item>
.ts
async clickTest(event:any, id) {
event.stopPropagation();
isLoad = true;
// await server side call
isLoad = false;
}
или вызовите такой метод в шаблоне:
В .html
<ion-item *ngFor="let name of names">
<p>{{name.username}}</p>
<button ion-button [someAttribute]="isLoad" (click)="clickTest(name.id), $event.stopPropagation()">
Click
</button>
</ion-item>