你怎么知道你不能返回 VueJS
How do you know if you can't go back VueJS
回不去想写一个链接首页的方法
有点像这样的代码:
if (**router.back.length == 0**){
router.push({name:"Home"})
}else {
router.back();
}
}
问题是我不知道如何判断 .back () 是否可行。
我目前在一个未找到的页面上,我使用以下重定向转到当前页面
path: "/:catchAll(.*)",
name: "PageNotFound",
component: () =>
import(/* webpackChunkName: "NotFound" */ "@/views/PageNotFound.vue")
}
感谢您的帮助!
有过一次类似的案例。尝试这样的事情(将其视为伪代码):
data: () => ({
fromRoute: null
}),
beforeRouteEnter (to, from, next) {
next(vm => {
vm.fromRoute = from;
})
},
methods: () {
handleBack() {
if (!this.fromRoute.name) {
router.push({name:"Home"});
} else {
router.back();
}
}
}
更多信息在这里:https://forum.vuejs.org/t/how-to-go-back-or-go-home/30242/3
使用此代码可以达到预期的效果。确保您使用的是 [Named Routes][1]
.
export default {
data() {
return {
fromRoute: null
};
},
beforeRouteEnter(to, from, next) {
next((vm) => {
vm.fromRoute = from;
});
},
methods: {
goBack() {
if (!this.fromRoute.name) {
this.$router.push("/");
} else {
this.$router.back();
}
},
},
};
[1]: https://router.vuejs.org/guide/essentials/named-routes.html
通过查看 VueJs 文档,我找到了解决方案
goBack() {
if(this.$router.getRoutes().length==0){
this.$router.push({name:"Home"})
}else{
this.$router.back();
}
}
回不去想写一个链接首页的方法
有点像这样的代码:
if (**router.back.length == 0**){
router.push({name:"Home"})
}else {
router.back();
}
}
问题是我不知道如何判断 .back () 是否可行。
我目前在一个未找到的页面上,我使用以下重定向转到当前页面
path: "/:catchAll(.*)",
name: "PageNotFound",
component: () =>
import(/* webpackChunkName: "NotFound" */ "@/views/PageNotFound.vue")
}
感谢您的帮助!
有过一次类似的案例。尝试这样的事情(将其视为伪代码):
data: () => ({
fromRoute: null
}),
beforeRouteEnter (to, from, next) {
next(vm => {
vm.fromRoute = from;
})
},
methods: () {
handleBack() {
if (!this.fromRoute.name) {
router.push({name:"Home"});
} else {
router.back();
}
}
}
更多信息在这里:https://forum.vuejs.org/t/how-to-go-back-or-go-home/30242/3
使用此代码可以达到预期的效果。确保您使用的是 [Named Routes][1]
.
export default {
data() {
return {
fromRoute: null
};
},
beforeRouteEnter(to, from, next) {
next((vm) => {
vm.fromRoute = from;
});
},
methods: {
goBack() {
if (!this.fromRoute.name) {
this.$router.push("/");
} else {
this.$router.back();
}
},
},
};
[1]: https://router.vuejs.org/guide/essentials/named-routes.html
通过查看 VueJs 文档,我找到了解决方案
goBack() {
if(this.$router.getRoutes().length==0){
this.$router.push({name:"Home"})
}else{
this.$router.back();
}
}