useRouter与useRoute区别

在Vue3中, Vue Router 提供新的API更好地与 Composition API 集成。提供useRouter、useRoute两个函数,在用于组件中访问当前路由信息和路由实例。

  • useRoute

返回当前的路由地址,这个路由对象包含了当前路由的许多信息,比如路径、参数、查询、hash等。相当于在模板中使用 $route。

useRoute实例

示例代码:

import { useRoute } from 'vue-router'  
export default {  
  setup() {  
    const route = useRoute()  
    console.log(route.path) // 输出当前路由的路径  
    console.log(route.params) // 输出当前路由的参数  
    console.log(route.query) // 输出当前路由的查询参数  
    // ... 其他操作  
  }  
}
  • useRouter

返回路由器实例。相当于在模板中使用 $router。通过这个路由实例,我们可以进行诸如导航、编程式导航等操作。

useRouter实例

示例代码:

import { useRouter } from 'vue-router'  
export default {  
  setup() {  
    const router = useRouter()  
    router.push('/home') // 导航到/home路径  
    router.replace('/about') // 替换当前路由为/about路径  
    router.go(-1) // 后退一步  
    // ... 其他操作  
  }  
}
useRoute 和 useRouter 区别
  • useRoute 主要用于获取当前路由的信息,适用于静态展示当前路由信息的场景。
  • useRouter 主要用于获取路由实例,适用于需要进行动态路由操作的场景,比如跳转到新的路由。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容