vue获取当前路由的几种方式

第一种

javascript">import { define***ponent,ref} from 'vue';
import { useRouter } from 'vue-router';

const router=useRouter
//通过实例化useRouter的router对象中,含有多个属性,其中就包含了当前路由地址,

console.log('router',router.currentRoute.value.fullPath);

第二种

import { getCurrentInstance } from 'vue';

const { proxy }: any = getCurrentInstance();
console.log(proxy.$router.currentRoute.value.fullpath);

通过getCurrentInstance 获取当前的组件实例,从而通过其获取router,然后胡德当前路由地址

第三种

import {  toRaw} from 'vue';
import { useRouter } from 'vue-router';

let router = useRouter()
console.log(toRaw(router).currentRoute.value.fullPath);

通过toRaw返回其原始对象,即将实例化的router转化为useRouter

第四种

import { watch } from 'vue';
import { useRouter } from 'vue-router';

   let router = useRouter()
   watch(router,(newValue, oldValue) => {
        console.log(newValue.currentRoute.value.fullPath);},
      { immediate: true }
    );
 //这一种写法比较麻烦,但是逻辑比较简单,通过监听获取最新的router对象,进而获取路由地址,而且在第一次的时候,就要执行监听,

第五种

import {  ref } from 'vue';
import { useRoute } from 'vue-router';

let path=ref("")
const route=useRoute()

path.value=route.path

//这一种最为简单,推荐这种

转载请说明出处内容投诉
CSS教程_站长资源网 » vue获取当前路由的几种方式

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买