使用vue-router4+TS跳转路由并使用params传参获取为undefined的原因是因为没有弄清楚router和route的区别导致的问题;
router是VueRouter的实例对象而route是当前正在跳转的路由对象;要获取params则需要获取route里的params
具体代码如下:
//跳转页面
<script setup lang="ts">
import {getCurrentInstance} from "vue";
import { useRouter } from "vue-router";
const router = useRouter();
router.push({name:'xxx',params:{a:1}})
</script>
//接收页面
<script setup lang="ts">
import {getCurrentInstance} from "vue";
const { proxy }: any = getCurrentInstance();
console.log(proxy.$route.params)
</script>
注:使用params传参需使用name而非path