可以使用监听router.currentRoute.value的值,,来监听路由的变化。

使用:

引入:

import { useRouter} from 'vue-router'

setup使用 :

const router = useRouter()
// 监听当前路由
watch(
  () => router.currentRoute.value,
  (newValue: any) => {
    console.log('newValue',newValue)
  },
  { immediate: true }
)

控制台输出的值newValue
在这里插入图片描述
如果我们只需要监听当前路由name的变化,就可以这么监听router.currentRoute.value.name

const router = useRouter()
// 监听当前路由的name变化
watch(
  () => router.currentRoute.value.name,
  (newRouterName: any) => {
    console.log('newRouterName',newRouterName)
  },
  { immediate: true }
)

Tips:

  • immediate:true //true就表示会立即执行。(watch默认绑定,页面首次加载时,是不会执行的。只有值发生改变才会执行。所以不加immediate:true //true的话,首页不会触发要执行的方法)
  • deep:true //true表示深度监听,这时候就能监测到newValue值变化
Logo

前往低代码交流专区

更多推荐