Vue.js 路由器是否应该驱动SPA应用程序状态?
这是一个关于保持SPA应用程序的状态与url同步的体系结构问题。我正在使用vue、vue路由器和vuex。在我的应用程序中,有一个反复出现的问题,我将在一个非常高的层次上描述它 假设用户单击一个链接,将其从Vue.js 路由器是否应该驱动SPA应用程序状态?,vue.js,url-routing,single-page-application,vue-router,vuex,Vue.js,Url Routing,Single Page Application,Vue Router,Vuex,这是一个关于保持SPA应用程序的状态与url同步的体系结构问题。我正在使用vue、vue路由器和vuex。在我的应用程序中,有一个反复出现的问题,我将在一个非常高的层次上描述它 假设用户单击一个链接,将其从/customers转到/customers/JohnSmith。然后,我的应用程序改变了商店。该状态现在已更新,因为用户单击了按钮,而不是因为路由已更改 换句话说 用户点击链接 状态已更新,因为单击。(因为我单击了与对象关联的组件,所以我可以直接访问customer对象) 路线改变了 但是,
/customers
转到/customers/JohnSmith
。然后,我的应用程序改变了商店。该状态现在已更新,因为用户单击了按钮,而不是因为路由已更改
换句话说
/customers/JohnSmith
上刷新页面,则步骤1不再适用,并且我的存储处于无效状态。此外,如果我使用浏览器后退按钮从/customers/BobbyHill
转到/customers/JohnSmith
,我的应用程序仍然会显示关于BobbyHill的数据,即使url是JohnSmith
这是否意味着,我的应用程序状态应该总是从URL派生
/customers/JohnSmith
、刷新或在历史记录中前进/后退。因此,无论用户如何到达页面,页面都应该显示正确的数据
这是处理此问题的正确方法吗?在我看来,根据路线改变状态更方便,并且在进入私人路线之前使用导航卫士来检查身份。您能否解释为什么在导航到其他路线时需要改变存储。这是为了从后端服务器加载客户的详细信息吗?在我看来,根据路由改变状态更方便,并且在进入私有路由之前使用导航卫士来检查身份。你能解释一下为什么在导航到其他路由时需要改变存储吗。这是从后端服务器加载客户的详细信息吗?