asa*_*nas 5 vue.js vuejs2 nuxt.js
我可以用来this.$router.go(-1)
将用户重定向到之前的路线。但是,我无法理解如何在重定向之前获取有关先前路线的信息。
基本上,通过首先阅读前一条路由是什么,我想确保前一条路由来自同一个域,然后才重定向到它,否则做其他事情。
Zoh*_*oha 12
在 nuxt 静态方法中,您可以访问 nuxt 上下文ex: asyncData or middlewares
:
asyncData({from}){
// do something with from
}
Run Code Online (Sandbox Code Playgroud)
但如果你想在 vue 实例中获取上一条路由,你可以使用
this.$nuxt.context.from
另外,请记住,from
如果浏览器历史记录中没有任何上一页,则可能未定义
在您的页面中,您可以添加asyncData
可以访问context
具有属性的对象的钩子from
:
asyncData({ from }) {
console.log(from);
}
Run Code Online (Sandbox Code Playgroud)
没有现成的方法可以获取此信息。
您可以做的是将 abeforeRouteEnter
作为全局守卫并在导航到新路线之前保存路线。
然后你可以检查是否有以前保存的路线并执行this.$router.go(-1)
如果您在模式下使用路由器,history
您可能会想使用History
vue-router 所使用的 api 来获取此信息。但 HistoryApi 不允许这样做,因为这将是一个巨大的隐私问题。您可以在当前选项卡中查看用户的完整历史记录。
归档时间: |
|
查看次数: |
10330 次 |
最近记录: |