vue3 ts中找不到$router
时间: 2023-08-17 15:27:48 浏览: 103
vue3.x+vite+ts+vue-router@4.x 路由使用demo
在 Vue 3 中,如果你在 TypeScript 中使用 `$router`,需要在组件中注入 `router` 实例。具体做法如下:
1. 在组件文件中导入路由实例:
```typescript
import { defineComponent } from 'vue'
import { useRouter } from 'vue-router'
export default defineComponent({
setup() {
const router = useRouter()
// 使用 router 实例
router.push('/path')
// ...
}
})
```
2. 在模板中直接使用 `$router`:
```html
<template>
<div>
<button @click="$router.push('/path')">跳转到 path 页面</button>
</div>
</template>
```
需要注意的是,在 Vue 3 中,组件选项中不再支持 `router` 属性,所以不能再像 Vue 2 中那样直接在组件选项中注入 `$router`。
阅读全文