为了账号安全,请及时绑定邮箱和手机立即绑定

beforeRouteUpdate没有触发

beforeRouteUpdate没有触发

白衣染霜花 2019-03-13 15:03:10
在学习《vue技术栈开发实战》中beforeRouteUpdate没有触发router.js代码import Home from '@/views/Home.vue'export default [   {     path: '/',     name: 'home',     component: Home   },   {     path: '/argu/:name',     component: () => import( '@/views/argu.vue'),     props: true   },   {     path: '/about',     name: 'about',    // route level code-splitting     // this generates a separate chunk (about.[hash].js) for this route     // which is lazy-loaded when the route is visited.     component: () => import(/* webpackChunkName: "about" */ '@/views/About.vue')   } ]argu.vue代码<template>   <div>     {{ name }}  </div></template><script>export default {  props: {    name: {      type: String,      default: 'apple'     }   },   beforeRouteUpdate (to, from, next) {    console.log(to.name,from.name)     next()   } }</script>访问页面从http://10.0.0.150:8080/argu/apple跳转到http://10.0.0.150:8080/argu/banana,页面显示发生了变化,但是在console没有输出,beforeRouteUpdate未被触发,新手求解惑,谢各位大神
查看完整描述

2 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

beforeRouteUpdate的触发是在动态路由情形下,比如 path: '/user/:userName' 这条路由,当页面不变更只动态的改变参数userName时,beforeRouteUpdate便会触发

查看完整回答
反对 回复 2019-03-13
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

测试发现是因为router注册时,使用history模式,直接在浏览器跳转不会触发,使用js修改路由器则会触发;使用hash模式则都会触发,具体原因未明

查看完整回答
反对 回复 2019-03-13
  • 2 回答
  • 0 关注
  • 1835 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信