【发布时间】:2017-06-05 12:16:55
【问题描述】:
我有一个列表/详细信息用例,用户可以在其中双击产品列表中的项目,转到详细信息屏幕进行编辑,然后在完成后返回列表屏幕。我已经使用此处描述的动态组件技术完成了此操作:https://vuejs.org/v2/guide/components.html#Dynamic-Components。但是现在我打算在应用程序的其他地方使用 vue-router,我想重构它以使用路由。通过我的动态组件技术,我使用了保持活动来确保当用户切换回列表视图时,会出现与编辑前相同的选择。但在我看来,通过路由产品列表组件将被重新渲染,这不是我想要的。
现在,看起来可以将 router-view 包裹在 keep-alive 中,这可以解决一个问题,但会引入很多其他问题,因为我只希望该路由保持活动状态,而不是所有路由(目前我只使用一个顶级路由器视图)。 Vue 2.1 通过为路由器视图引入包含和排除参数显然已经解决了这个问题。但是我也不想这样做,因为必须在我的主页中预先声明所有应该或不应该使用保持活动的路由似乎很笨拙。在配置路由时(即在路由数组中)声明是否要保持活动状态会更整洁。那么我最好的选择是什么?
【问题讨论】:
标签: vue.js vue-router