vue3中的router和useRouter的区别

结论:从vue-router的官方文档中发现,useRouter需要在setup中使用,而router可以在任何组件中使用。 二者是等价的,适用场景不同。

问题:使用useRouter创建的实例,未能成功调用方法push()。会报错:Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'push')

javascript 复制代码
//错误场景:在js中调用useRouter
import { useRouter } from 'vue-router' 
const router = useRouter()

router.push({path:'/login'})

解决:改用router。

javascript 复制代码
import router from @/router'
router. push('/pathname')

原因:因为 useRouter只能在 setup中使用,如 以下场景:

router 适用面更广

参考:

vue3中的路由传参以及router和route的区别_useroute和userouter的区别_莫尔道嘎老范的博客-CSDN博客

vue3路由的两种引入方式useRouter和router进行页面跳转_userouter()_qq_26596795的博客-CSDN博客

相关推荐
echoVic8 小时前
多模型支持的架构设计:如何集成 10+ AI 模型
java·javascript
程序员Agions8 小时前
useMemo、useCallback、React.memo,可能真的要删了
前端·react.js
echoVic8 小时前
AI Agent 安全权限设计:blade-code 的 5 种权限模式与三级控制
java·javascript
David凉宸8 小时前
Vue 3 + TS + Vite + Pinia vs Vue 2 + JS + Webpack + Vuex:对比分析
javascript·vue.js·webpack
滕青山8 小时前
Vue项目BMI计算器技术实现
前端·vue.js
子兮曰8 小时前
深入浏览器指纹:Canvas、WebGL、Audio是如何暴露你的身份的?
前端·浏览器·canvas
月亮补丁8 小时前
AntiGravity只能生成 1:1 图片?一招破解尺寸限制
前端
何中应8 小时前
MindMap部署
前端·node.js
boooooooom8 小时前
Pinia必学4大核心API:$patch/$reset/$subscribe/$onAction,用法封神!
javascript·vue.js·面试
NAGNIP8 小时前
程序员效率翻倍的快捷键大全!
前端·后端·程序员