可以使用监听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值变化