【发布时间】:2022-01-05 14:09:32
【问题描述】:
重新加载页面时,我想获取当前路线。可悲的是route.name 是undefined,router.currentRoute 是RefImpl 对象,它有正确的路线,里面有'/team'。 router.currentRoute.value 只是根 '/',而不是 '/team',正如预期的那样。是否可以从RefImpl 获得正确的值?
import { useRouter, useRoute } from 'vue-router'
export default {
name: 'Canvas',
components: { Ring2, Map },
setup() {
const router = useRouter()
const route = useRoute()
onMounted(() => {
console.log(route.name) //undefined
console.log(router.currentRoute) //RefImpl with correct value ('/team')
console.log(router.currentRoute.value) // route is '/'
const rawObject = {...router.currentRoute}
console.log(rawObject) // value is '/'
...
路由器是这样设置的:
import { createRouter, createWebHistory } from 'vue-router'
import Home from '../views/Home.vue'
const routes = [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/team',
name: 'Team',
component: () => import('../views/Team.vue')
},
...
]
const router = createRouter({
history: createWebHistory(process.env.BASE_URL),
routes
})
export default router
【问题讨论】:
标签: javascript vue.js vue-router vuejs3 vue-composition-api