如何在web单页应用程序中更好地组织多个视图

How to better organize multi-views in a web single page app?

本文关键字:视图 更好 web 单页 应用程序      更新时间:2023-09-26

假设我有很多视图在我的单页应用程序。这意味着,我把一些视图在一个div和显示这个或那个视图取决于用户的操作。所以,我通常一次只展示一个。例如,我有这些视图- 仪表板设置条目条目详细信息

根据应用的当前状态,这些视图中有一个是可见的,而另一个是不可见的。当我以这种方式仪表板> 条目> 条目详细信息,然后编辑一些条目详细信息并单击保存返回按钮,我希望应用程序回到条目。但是,如果我在仪表板上有一个链接,例如指向最新编辑的条目,我可以这样做dashboard> 条目详细信息,在这种情况下,我想通过单击保存返回按钮返回仪表板。

如果使用更深的视图路径,这种情况会变得更加复杂。现在我像这样管理它——当一个负责视图切换的按钮被点击时,变量state被更改为from_dashboard_to_entries之类的东西。我监听该变量的变化,然后根据state变量值从另一个函数进行所有视图切换。这样我就必须手动定义所有可能的场景并测试所有可能的情况组合。现在这种方法运行得很好,但我担心更深或更长的视图序列。

我的想法是以某种方式在数组或其他东西中创建视图的历史,但我不清楚如何做得更好。

根本不用担心源视图—您不必知道它就可以切换到目标视图。如果你想要一个历史记录,而不是手动存储它,考虑使用HTML5历史API,最好是一个包装库(例如history .js)。

更确切地说,我们应该在改变应用程序状态的同时设置视图。这可以优化初始应用程序的启动时间,而不是在启动时加载所有视图,并为按需加载提供了一种方式。