我正在开发一个Vue-Electron应用程序。让我们想象一下,在前端有一个设置页面,里面有一些你可以摆弄的变量。当然,我想在设置页面重新加载时保留所有的设置。要做到这一点,我认为有必要在后端的一个设置对象中存储这些值,在重新加载时将它们拉回到页面上。
使用Electron,我知道有三个选项:
1.使用'requrie'提取
require('electron').remote.require("./main.js")
这样我就可以访问所有的变量exports.<someFunctionOrVar>
不幸的是,这对我来说并不合适,因为webpack配置不允许这样做,我更喜欢使用webpack热模块重载。
2.使用'global'提取
require('electron').remote.getGlobal('myVarOrFunction')
我的所有设置都保存在一个settings-object中,这个settings-object保存在主进程中。一旦我用getGlobal拉取了这个对象,并将它保存在我的vue数据变量中,我就可以访问所有的字段来预填充我的设置表单,当我在表单中更改了一些内容时,它也会到达后端。
这个问题是,由于这里解释的限制,vue不会在数据更改时更新DOM。
3.工业和信息化委员会
使用Electron的IPC,我必须为每个设置变量设置一个通道,以便vue.js前端保持React性,同时保持后端同步。这毕竟不是理想的。
在主进程和渲染器进程之间保持数据同步应该很简单。我只是不知道如何有效地解决这个问题,并考虑到所使用的vue框架。我如何在主进程和渲染器进程之间保持数据同步?
1条答案
按热度按时间uqzxnwby1#
我发现保持页面间应用状态一致的最好方法是使用Vuex。使用商店和mutators,你可以轻松地设置一个设置页面,在你的应用中传播值。同样,你可以通过计算变量将你的初始表单状态绑定到商店,以确保观察器的正确触发。