前端新手,请教个 vue 的路由跳转问题

2020-01-13 16:50:23 +08:00
 darknoll

请教个问题,在一个页面的 created 钩子函数里面做了个 this.$route.push, 此时仍然会把生命周期执行完,有没有什么办法直接跳转到新的页面,不执行接下来的 mounted 啥的。

1682 次点击
所在节点    问与答
8 条回复
airyland
2020-01-13 16:53:34 +08:00
router.beforeEach
shintendo
2020-01-13 16:54:30 +08:00
你需要路由守卫而不是生命周期钩子
darknoll
2020-01-13 16:55:03 +08:00
@shintendo 使用 BeforeEnter 还是会执行生命周期啊
shadowyue
2020-01-13 17:06:27 +08:00
你为啥希望正常的 mounted 不触发呢?

一般遇到比较奇怪的操作,先想想是不是有哪里不合理不合适呗
shintendo
2020-01-13 17:08:45 +08:00
@darknoll 怎么可能……
duuu
2020-01-13 17:09:23 +08:00
你这个跳转逻辑应该写在前一个页面里判断跳转到 A 还是 B,而不是先跳转到 A 里面判断要不要留下来还是跳转到 B
jevonszmx
2020-01-13 17:43:16 +08:00
shellus
2020-01-13 17:47:16 +08:00
在 data 里面放个 continue: true
在 created 里面 this.continue=false;
然后在 mountedd 里面 if(this.continue === false){return;}

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/637562

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX