javascript - Vue路由器 beforeRouteEnter - 刷新页面后,按钮名称消失
问题描述
<script>
export default {
name: 'TEST',
data() {
return {
prevRoute: ''
}
},
methods: {
goBack() {
return this.$router.go(-1);
},
},
beforeRouteEnter(to, from, next) {
next(vm => {
vm.prevRoute = from.name
console.log(from.name)
})
},
}
</script>
<template>
<div>
<button @click="goBack" class="back">{{ prevRoute }}</button>
</div>
</template>
Vue 路由器 beforeRouteEnter - 刷新页面后,按钮文字 {{ prevRoute }} 消失。还有哪些其他方式可以在上一页的按钮中显示文字?
解决方案
这根本不可能,您的from
路线在刷新时将始终为空。我能想到的最好方法是将您的路线存储from.name
在您的 localStorage 中,并仅在from.name
存在时设置该项目
beforeRouteEnter(to, from, next) {
if (from.name) localStorage.setItem('from_route', from.name)
next()
},
然后在您安装的钩子prevRoute
中根据 localStorage 项设置值
mounted () {
this.from_route = localStorage.getItem('from_route')
},
当然,如果有人与您分享链接而您不是来自任何其他页面,您将面临同样的问题。
推荐阅读
- python - 将成对距离的长格式数据帧转换为python中的距离矩阵
- python - 在 vscode 中使用 ctrl+click 打开时,在 django 模块中看不到代码(每个函数和类块显示 3 个点)
- reactjs - Redux 不会更新状态
- android - 当我在实现设备中运行应用程序并用户单击图像时,我会质疑,它会崩溃。但它不能在模拟器中崩溃
- javascript - 如何访问 if 语句检查值?在 if 块旁边?
- django - Django中数据库的动态菜单
- jquery - 在 AJAX 之后滚动到 div 的底部
- swift - 将 isSelected 设置为 true 不更改图像
- python - Python ZipFle 放气
- javascript - 为什么我的函数没有将表单值推送到数组?