2016-11-24 2 views
0

Я генерирую ионные карты с ответом. Каждый ионный автомобиль имеет 3 кнопки. Я уверен, что я могу получить ответ должным образом. Однако я не могу дать значение кнопкам, или я делаю это неправильно.Неопределенное значение динамически заполненной кнопки

// вот мой HTML

<ion-header> 

    <ion-navbar color='primary'> 
    <ion-title>events</ion-title> 
    </ion-navbar> 

</ion-header> 


<ion-content padding> 
<div class="row" *ngIf="events && events.length > 0"> 
    <ion-card *ngFor="let event of events"> 

    <img src="../../img/campus_background.jpg"/> 

    <ion-card-content> 
     <h1 class="card-title"> 
     {{event.name}} 
     </h1><br> 
     <p>Location: {{event.location}}</p><br> 
     <p> Start: {{event.start_hour}}</p><br> 
     <p> End: {{event.end_hour}}</p><br> 
     <p>Organizator: {{event.creator}}</p><br> 
     <p> Description: {{event.info}}</p><br> 
    </ion-card-content> 
     <ion-row no-padding> 
     <ion-col> 
     <button ion-button clear small [value]="event.id" (click)="addParticipant()" color="danger" icon-left> 
      <ion-icon name='person-add'></ion-icon> 
      Join 
     </button> 
     </ion-col > 
     <ion-col text-center> 
     <button ion-button clear small [value]="event.id" (click)="pushParticipants($event.target.id)" color="danger" icon-left> 
      <ion-icon name='people'></ion-icon> 
      {{event.id}} 
     </button> 
     </ion-col> 
     <ion-col text-right> 
     <button ion-button clear small [value]="event.id" color="danger" icon-left> 
      <ion-icon name='share-alt'></ion-icon> 
      Share 
     </button> 
     </ion-col> 
     </ion-row> 
    </ion-card> 
</div> 
</ion-content> 

Когда я нажал на кнопку, что я называю() функцию pushParticipants. Я пытаюсь предупреждение, что значение кнопки, но он говорит мне «не определен»

pushParticipants(id){ 
    alert(id); 
    } 

Я думаю, есть проблема с привязкой значения кнопки, но я не мог понять. Я уверен, что массив событий правильно заполняется откликом, так как другие части собственно ионной карточки заполняются правильно.

ответ

0

Вместо того, чтобы использовать значение кнопки, вы можете перейти непосредственно к методу всего объекта, например:

<button ion-button clear small (click)="addParticipant(event)" color="danger" icon-left> 
... 
</button> 

И в ваших pushParticipants метод ожидать весь объект события

pushParticipants(event) { 
    console.log(event); 
} 
+0

Я обязательно принимаю этот ответ просто дайте мне еще 7 минут :) – cano

+0

это странно, вы уверены, что event.id действительно существует? Как насчет event.name, можете ли вы получить доступ к этому свойству в pushParticipants()? –

+0

Я решил эту проблему, спасибо за ваш ответ – cano