处理时刻对象超出范围

时间:2018-01-02 22:48:19

标签: javascript prototype electron momentjs

我使用ipc从main传递到电子中的一组时刻对象,两者都包括时刻库,但是当我尝试在渲染器中对这些对象调用时刻函数时,它就像他们不再是时刻的对象了。

那是对象:

enter image description here

如果我尝试调用format或其他时刻方法,我会收到错误消息。

我宁愿不使用该对象中的私有字段,那么如何才能使这些对象再次成为时刻的对象呢?

编辑:

这是我传递对象的方式:

main.js:mainWindow.webContents.send('error-lines', errorLines);

打印errorLines(部分内容):

[ { id: '6',
    date: moment("2017-11-01T07:25:36.000"),
    start: false },
  { id: '5',
    date: moment("2017-11-01T08:01:40.000"),
    start: false },
  { id: '5', date: moment("2017-11-01T16:46:32.000"), start: true },
  { id: '6', date: moment("2017-11-01T17:11:11.000"), start: true },

渲染器:

ipc.on('error-lines', function (event, data) {
    console.log(data);
}

1 个答案:

答案 0 :(得分:1)

电子在进程之间的ipc不允许非可序列化的对象,只发送普通对象,所以这是预期的。您可以只在接收方进程端发送普通对象并重建对象,以获得所需的完整对象。