【发布时间】:2018-02-10 06:47:32
【问题描述】:
使用带有 vue-router 的 router-link 标签,“设置替换属性将在单击时调用 router.replace() 而不是 router.push(),因此导航不会留下历史记录”,根据文档.但这似乎并没有发生在我身上,所以我想我一定是误会了什么。我的 SPA 中有一个导航菜单,每个菜单项中的路由器链接都有一个替换道具。然而,当我依次单击每个菜单项时,它显然确实会添加到历史记录中,因为后退按钮将我带回到上一个项目,并且我实际上可以在 Firefox 历史记录中看到正在添加的 URL 列表。我做错了什么?
【问题讨论】:
-
该行为的演示,至少是 HTML 模板,对您有所帮助。
-
好吧,其中一个路由器链接的示例如下:
<router-link :to="{ name: 'edit-sale', params: { action: 'add' }}" replace>New Sale</router-link>。使用这条路线:{name: 'edit-sale', path: '/sale/:action(add|modify)/:id?', component: SaleManager}。但是......我现在发现后退按钮的行为符合预期,所以也许我刚刚遇到了一些缓存问题? -
说得太早了!使用 Chrome,我可以继续单击后退按钮并浏览我的导航历史记录 - '/product/list'、'/sale/add' 等等,即使所有这些链接都被赋予了 'replace' 属性。我不认为这是一个错误,更多的是我的误解。
标签: vue.js vue-router