В моем проекте Angular 8 есть шаблонно-управляемая форма.
Эта форма использует NgModel для получения данных по нажатию кнопки, которая запускает функцию для отправки этих данных вместе с несколько других предустановленных значений в Action для отправки сообщения через почтовую службу.
Объект:
// Data for the reply
public messageResponse = {
transmissionRequest: {
arrivalTime: null,
attachments: [
{
contents: null,
filename: null
}
],
ccRecipients: null,
direction: 'OUTBOUND',
originator: null,
payload: null,
recipient: null,
subject: null,
type: 'email'
}
};
Попытка изменения:
this.messageResponse.transmissionRequest.payload = '';
действие, которое отправляется с сообщением:
this.store.dispatch(new SendReply(this.messageResponse));
Я попытался изменить полезную нагрузку обратно на пустую строку непосредственно после отправки магазина, в функции после отправки магазина, при подписке на успех магазина для это сообщение фактически отправляется через http, и все эти решения содержат следующую ошибку:
ERROR TypeError: Cannot assign to read only property 'payload' of object '[object Object]'
Когда я закомментирую функцию отправки, полезная нагрузка может быть изменена успешно, без ошибок .
Я не мутирую в магазине, поскольку знаю, что это невозможно изменить. Я только пытаюсь изменить данные, отображаемые в представлении после отправки сообщения.
Изменяет ли отправка в хранилище разрешения оригинального объекта?
Как мне обойти это