Я хочу отформатировать дату, полученную через Apollo-GraphQL, используя библиотеку javascript Moment. Я использую VueJS Apollo на стороне клиента для выполнения запросов graphQL как таковых:
import { ALL_EVENTS } from '../constants/graphql.js'
import Event from './Event'
import moment from 'moment'
export default {
name: 'EventList',
data: () => ({
events: [],
loading: 0
}),
apollo: {
events: ALL_EVENTS
},
components: {
Event
},
Промежуточное ПО apollo возвращает список объектов, которые содержат идентификатор, имя, начальную дату (строка в формате UTC)
и свойство endDate (также отформатированное в формате UTC), среди других свойств, добавленных apollo для его использования.
Всякий раз, когда я пытаюсь создать вычисляемое свойство в VueJS, используя список объектов из Apollo, он выдает ошибку только для чтения, но мне кажется, что я создаю новый объект:
computed: {
eventsFormatted: function () {
var out = this.events
for (var i in out) {
out[i].startDate = moment(out[i].startDate)
out[i].endDate = moment(out[i].endDate)
}
return out
}
}
Что мне нужно сделать, чтобы создать копию массива, который я могу изменить?