Я пытаюсь реализовать кнопку «Мне нравится» на Facebook, где, когда пользователь нажимает, данные будут увеличиваться, а данные внутри базы данных обновляются.в этом случае я хочу обновить число людей, присоединяющихся к событию, например, число присоединений равно 0 в базе данных, когда пользователь нажимает кнопку, номер присоединения равен 1. Проблема в том, что данные даже не меняются.
Home.html
<ion-card *ngFor="let event of (eventList$ | async)?.slice().reverse()" navPush="EventPage" [navParams]="{event: event}">
<ion-col>
<button ion-button round (click)="joinAdd()">Join Event</button>
</ion-col>
</ion-card>
Home.ts
import { EventDetail } from '../../models/event-detail/event-detail.interface';
import { Observable } from 'rxjs';
eventListRef$: AngularFireList<EventDetail>;
eventList$: Observable<EventDetail[]>;
updateEvent = {} as EventDetail;
constructor(...) {
this.database.list<EventDetail>('event-list').valueChanges().subscribe((eventData) => {
console.log("Event details data", eventData);
}, (err)=>{
console.log("Error while retrieving event details : ", err);
});
this.eventListRef$ = this.database.list<EventDetail>('event-list');
this.eventList$ = this.eventListRef$.valueChanges();
}
joinAdd(updateEvent: EventDetail,) {
this.updateEvent.$key = this.updateEvent.$key,
this.updateEvent.eventName = this.updateEvent.eventName,
this.updateEvent.eventDesc = this.updateEvent.eventDesc,
this.updateEvent.address = this.updateEvent.address,
this.updateEvent.startDate = this.updateEvent.startDate,
this.updateEvent.endDate = this.updateEvent.endDate,
this.updateEvent.startTime = this.updateEvent.startTime,
this.updateEvent.endTime = this.updateEvent.endTime,
this.updateEvent.noV = this.updateEvent.noV,
this.updateEvent.image = this.updateEvent.image,
this.updateEvent.join = this.updateEvent.join++;
this.eventListRef$.update(this.updateEvent.$key, updateEvent);
}
}
Трассировка стека
TypeError: Cannot read property 'set' of undefined
at isFirebaseRef (http://localhost:8101/build/vendor.js:52113:25)
at checkOperationCases (http://localhost:8101/build/vendor.js:52123:14)
at Object.dataOperation [as update] (http://localhost:8101/build/vendor.js:171043:91)
at HomePage.webpackJsonp.537.HomePage.joinAdd (http://localhost:8101/build/0.js:6419:28)
at Object.eval [as handleEvent] (ng:///HomePageModule/HomePage.ngfactory.js:87:31)
at handleEvent (http://localhost:8101/build/vendor.js:13963:155)
at callWithDebugContext (http://localhost:8101/build/vendor.js:15472:42)
at Object.debugHandleEvent [as handleEvent] (http://localhost:8101/build/vendor.js:15059:12)
at dispatchEvent (http://localhost:8101/build/vendor.js:10378:25)
at http://localhost:8101/build/vendor.js:11003:38
Я прошел 3 различных урока на YouTube, и на данный момент яя действительно запутался.