Reputation: 89
I have an list and I want to change the height of the card when I click on a button (the button is on the card) but, how I do this?
I try to hand over the item.id on a click event and use the id in the function but i get an error when i want to use (click="details({{item.id}})"
.
So how i can solve the problem?
here the html code:
<ion-card>
<ion-card-content class="date-card">
<h1 class="date">{{date}}</h1>
</ion-card-content>
</ion-card>
<ion-card *ngFor="let item of items" id="{{item.id}}" >
<ion-card-content class="content-box">
<ion-card-title class="title">{{item.label}}</ion-card-title>
<h2 class="md-text"><ion-icon name="time" ></ion-icon> {{item.time_start}}</h2>
<h2 class="md-text"><ion-icon name="calendar" ></ion-icon> {{item.date_start}}</h2>
<h2 class="md-text"><ion-icon name="compass" ></ion-icon> {{item.location_text}}</h2>
</ion-card-content>
<div class="icon-div">
<button class="icon-button">
<ion-icon class="icon-button-icon" name="star"></ion-icon>
</button>
<button class="icon-button" (click)="details()">
<ion-icon class="icon-button-icon" name="arrow-down" ></ion-icon>
</button>
<button class="icon-button">
<ion-icon class="icon-button-icon" name="share"></ion-icon>
</button>
</div>
</ion-card>
And sorry for my bad english^^
Upvotes: 1
Views: 1374
Reputation: 290
You are in the scope of ngFor so you can use item variable
<ion-card>
<ion-card-content class="date-card">
<h1 class="date">{{date}}</h1>
</ion-card-content>
</ion-card>
<ion-card *ngFor="let item of items" **[id]="item.id"** >
<ion-card-content class="content-box">
<ion-card-title class="title">{{item.label}}</ion-card-title>
<h2 class="md-text"><ion-icon name="time" ></ion-icon> {{item.time_start}}</h2>
<h2 class="md-text"><ion-icon name="calendar" ></ion-icon> {{item.date_start}}</h2>
<h2 class="md-text"><ion-icon name="compass" ></ion-icon> {{item.location_text}}</h2>
</ion-card-content>
<div class="icon-div">
<button class="icon-button">
<ion-icon class="icon-button-icon" name="star"></ion-icon>
</button>
<button class="icon-button" **(click)="details(item.id)"**>
<ion-icon class="icon-button-icon" name="arrow-down" ></ion-icon>
</button>
<button class="icon-button">
<ion-icon class="icon-button-icon" name="share"></ion-icon>
</button>
</div>
</ion-card>
Upvotes: 0
Reputation: 24404
You are in the scope of ngFor so you can use item variable , as long you are in ion-card body you can use item variable
<ion-card *ngFor="let item of items" id="{{item.id}}" >
...
<button class="icon-button" (click)="details(item.id)">
<ion-icon class="icon-button-icon" name="arrow-down" ></ion-icon>
</button>
...
</ion-card>
Upvotes: 1
Reputation: 41387
Pass it without the curly brackets
(click)="details(item.id)".
Upvotes: 2