javascript - Angular2/Typescript/ngRx - 类型错误 : Cannot assign to read only property of object

标签 javascript angular typescript redux ngrx

在构造函数中我做了这样的事情

selectedDate: Object;
// construtor
this.selectedDate = {};
this.selectedDate['date'] = new Date();
this.selectedDate['pristine'] = new Date();

在另一个通过单击按钮调用的函数中,我执行以下操作:

this.selectedDate['date'] = new Date(this.selectedDate['pristine']);

我收到以下错误:

TypeError: Cannot assign to read only property 'date' of object '[object Object]'

最佳答案

感谢 Ryan Q:

正如 Ryan 评论的那样,我在我的应用程序中使用了 ngRx,并且我确实通过操作将 this.selectedDate 对象传递到商店中,因此我无法修改存储在状态中的对象。

解决这个问题的一种方法是传递一个新的对象引用,这应该可以解决这个问题:

this.store.dispatch(new settime.DateChangeAction(Object.assign({}, this.selectedDate)));

关于javascript - Angular2/Typescript/ngRx - 类型错误 : Cannot assign to read only property of object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44785645/

相关文章:

Angular 4.3 拦截器 - 如何使用?

javascript - Typescript 函数作为另一个函数中的可选参数

typescript - 编译器无法从 global.d.ts 导入类型

javascript - 如何在 Python 中抓取包含动态内容(由 JavaScript 创建)的页面?

javascript - 为什么覆盖 native 方法是个坏主意?

javascript - 如何绕过在 iPhone 中使用 html5 视频标签进行全屏播放?

javascript - 删除页面元素时防止页面滚动

html - 在 Angular4 中拆分超链接

angular - stylePreprocessorOptions 不适用于@Angular/cli 7

javascript - FindOne 函数无法与 Postgres 一起使用