尝试向可观察内部的对象添加属性

时间:2019-03-26 10:57:21

标签: javascript angular angularfire2 angular2-observables

根据标题,情况非常简单,如果有人正在参加,则尝试将AttingingType属性添加到事件对象中(这样我就可以在视图中更改状态)。

其他说明,我正在使用Angularfire 2,返回的数据是Event []的可观察数组。当我将返回值更改为number时,它将打印其他属性。

这是界面

return (console.log({ ...event, attendingType: currentUser.type } as eventWithAttendance));

这是ts文件的代码

export interface Event {
  schoolId: string;
  eventId: string;
  name: string;
  date: Date;
  timeStart: number;
  timeEnd: number;
  volunteersRequired: boolean;
  attendance?: Array<EventUser>;
  imageUrl: string;
  contactName: string;
  contactPhone: number;
  contactEmail: string;
  description: string;
}

export interface EventUser {
  id: string;
  email: string;
  name: string;
  type: ATTENDANCE;
}

export enum ATTENDANCE {
  attending = 'attending',
  notAttending = 'notAttending',
  volunteering = 'volunteering'
}

1 个答案:

答案 0 :(得分:1)

问题在于数组上的.map不会更改原始数组,但会返回一个新数组。

因此,如果您进行更改:

events.map( (event) => {

收件人:

const updatedEvents = events.map( (event) => {

然后将return语句更改为:

return updatedEvents as eventWithAttendance[];