如何在router.back()上为VueJS中的深度链接项设置默认值



我有两个(或多个(VueJS路由,其中包含指向同一第三个路由的路由器链接。

/页面/列表

<router-link :to="{name:'add-page'}">Add</router-link>

/页面/其他列表

<router-link :to="{name:'add-page'}">Add</router-link>

如果我在$router.back()的第三页上放了一个put链接,该链接将带我回到历史上我来自的前一页。

但是,如果直接在浏览器中输入add-page路由,则没有历史记录。我想为该页面设置一个默认值,最好不要依赖全局默认值。

如果没有特定组件的历史记录,选择默认路线的最佳方式是什么?

导航卫士是否适合您的需求?

你可以用它来形容:

router.beforeEach((to, from, next) => {
if (to.name === 'add-page' && to.) {
//Your logic here
//eg a redirect
next({ name: 'MyBaseRoute' }) 
} else {
next()
}    
})

或者,如果您只需要一个选定的组件,您可以在组件保护中使用

beforeRouteEnter (to, from, next) {
// called before the route that renders this component is confirmed.
// does NOT have access to `this` component instance,
// because it has not been created yet when this guard is called!
},

最新更新