vue3.0中在setup中使用路由

import { defineComponent } from 'vue'
import { useRoute, useRouter } from "vue-router"


export default defineComponent({
     const route = useRoute()
     const router = useRouter()

     console.log(route.query.id)
     router.push({ path:'/task/rule', query: { id } })
})

useRouteuseRouter必须写到setup中,若强行写在hooks函数中就会undefined,获取不到对应的方法,但是想要在自定义的hooks中使用路由方法如下:

import Vrouter from "@/router"


const route = Vrouter.currentRoute.value
const router = Vrouter

监测当前路由同理:注意不要直接监测整个router对象

watch(() => Vrouter.currentRoute.value.query,
    (query) => {
      ListParams.value = Object.assign(params,query)
      res.value = handleParams()
    })

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐