Возврат относительного значения объекта firebase из снимка - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть цикл, который помещает данные в массив, поэтому я могу заполнять карты данными из базы данных. Я пытаюсь просто вернуть pushId соответствующей карты при нажатии кнопки. Я могу отобразить информацию, которую хочу, но я получаю доступ к относительному pushId в функции.

  export class EventListPage {
  public eventList: Array < any > ;
  keys: any[];

  constructor(
    public navCtrl: NavController,
    public eventProvider: EventProvider
  ) {}


  ionViewDidLoad() {
      this.eventProvider.getEventList().on("value", eventListSnapshot => {
            this.eventList = [];
            eventListSnapshot.forEach(snap => {
                  this.eventList.push({
                    id: snap.key,
                    name: snap.val().name
                  });
                }
                upvote() {

                  //problem area - looking to return the "id" of the clicked button.  I dont know how many records there will be.

                  console.log(this.eventList.id); //obviously doesnt work
                  console.log(this.eventList[1].id); //returns an id but its not relative to the button clicked obviously..

                  {
                    goToEventDetail(eventId: string): void {
                      this.navCtrl.push('EventDetailPage', {
                        eventId: eventId
                      });
                    }
                  }

Html:

  <ion-content padding>
  <ion-list>
    <ion-item *ngFor="let event of eventList">
      <h2>{{event?.name}}</h2>
      <p>id: <strong>{{event.id}}</strong></p>
      <button shape="round" color="primary" expand="block" (click)="upvote()">Upvote</button>
    </ion-item>
  </ion-list>
</ion-content>

было бы лучше переместить функцию upvote () в функцию ionViewDidLoad () и получить к ней доступ как к вложенной функции (что я не знаю, как это сделать), или попытаться выдвинуть идентификатор с карты, на которую нажали в переменную и использовать ее в функции upvote без вложенности?

Любая помощь будет высоко ценится.

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...