useRoute与useRouter的区别
官方文档:
https://router.vuejs.org/zh/api/#Functions-useRoute
useRoute():返回当前的路由地址。相当于在模板中使用 $route。
useRouter():返回路由器实例。相当于在模板中使用 $router。
useRoute( )函数
useRoute( )函数用于在组件中获取当前路由的信息,返回一个包含路由信息的对象。每一个路由都有一个route对象,这是一个局部的对象,可以从中获得name、path、params、query(如下所示)等当前路由信息的静态数据。

使用案例:
1 | <template> |
useRouter( )函数
router是VueRouter的一个对象,用于获取路由实例,可以通过他来进行一些动态的路由操作,比如实现路由跳转。其通过Vue.use(VueRouter)和VueRouter构造函数得到一个router的实力对象,这个对象是一个全局的对象,包含了许多关键的对象和属性。
代码举例:
实现路由的跳转,原理:实际上是对history对象的操作,是向history栈中添加一个路由,添加一条history记录。
1 | const router = useRouter() |
总结
- useRoute( )主要用于获取当前页面的路由信息
- useRouter( )主要用于获取路由实例,用于对路由进行动态操作的场景
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 低微鄙陋’blog!
评论
ValineDisqus







