首页 > 解决方案 > 如何在 vue 3 中获取路由器的参数?

问题描述

我在 Vue.js 3 和 TypeScript 中创建了一个项目。

路由器.js

{
    path: "/app/:id",
    name: "Detail",
    component: Detail,
    props: true
  },

应用程序.js

<script lang="ts">

...

onMounted(() => {
      const id = $route.params.id;
      ...
    });

但这会导致错误:

"Cannot find name '$route'."

我究竟做错了什么?

标签: typescriptvue.jsvuejs3

解决方案


Vue Router 4.x 提供useRoute()了:

import { useRoute } from 'vue-router'

export default {
  setup() {
    const route = useRoute()

    onMounted(() => {
      const id = route.params.id
    })
  }
}

演示


推荐阅读