useRouter肯定要放在setup办法内的顶层,否则作用域扭转useRouter()执行返回的是undefined。
正确应用
<script setup>import { useRouter } from 'vue-router';const router = useRouter();const toLogin = () => { router.push({ name: 'login' });};</script>
谬误应用
<script setup>import { useRouter } from 'vue-router';const toLogin = () => { const router = useRouter(); //router为 undefine router.push({ name: 'login' });};</script>