我正在尝试做一些类似于自动化活动的综合系统之类的事情。该程序应该有很多模块。我打算按照windows的原则来组织它们。如果需要,您可以打开一个新模块,然后您可以关闭它,或者打开一个新模块而不关闭它,稍后返回。
例如。我打开可用数字文档列表的模块。我选择所需的一项,单击“编辑”,启动编辑表单。我打开任何信息指南,查看必要的数据,然后返回表格。这一切都是通过类比 Windows 任务栏来完成的。
我正在研究架构。我们通过 vue-router 加载模块。您可以使用 keep-alive 来存储非活动模块数据,但管理选项有限。您只能指定保留多少个缓存,但无法清除某些缓存,所有数据都会保留。另一方面,我希望能够选择保留多少数据以及随着数据的过时而不再需要哪些数据。我担心大型应用程序不会在低功率计算机上变慢或冻结。一方面实现简单,另一方面更有效地利用资源。
除了保持活动状态选择或将状态数据存储在单独的结构中之外,您还可以考虑其他选项。例如,在单独的选项卡中打开模块,然后将数据管理转移到浏览器。或者,您可以实现在动态添加的组件数组“组件”中打开模块的选项,使用 v-show 指令暂时隐藏未使用的模块。您可以将模块加载到对话框中。您可以考虑其他选择。如果你选择其中之一,你就必须承担其相应的缺点。
编写每个选项的测试版本然后运行评估测试是一项非常耗时的任务。所以希望得到您的建议。
对于您的用例,我认为在使用
v-if
和v-show
时,对话框或任何其他组件(选项卡等)都会简单地工作。您可以对要保留在 DOM 中的内容使用 v-show,对要在用户关闭后销毁的内容使用 v-if。请参阅有关
v-if
和v-show
之间差异的文档 此处。