安装
npm install vue-router@4
使用Vue3
安装对应的router4
版本。使用Vue2
安装对应的router3
版本。否则会有兼容问题报错。
初始化
在src目录下面新建router 文件 然后在router 文件夹下面新建 index.ts
//引入路由对象
import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
//vue2 mode history vue3 history : createWebHistory
//vue2 mode hash vue3 history : createWebHashHistory
//vue2 mode abstact vue3 history : createMemoryHistory
//路由数组的类型 RouteRecordRaw
// 定义一些路由
// 每个路由都需要映射到一个组件。
const routes: Array<RouteRecordRaw> = [{
path: '/',
component: () => import('../components/a.vue')
},{
path: '/register',
component: () => import('../components/b.vue')
}]
const router = createRouter({
history: createWebHistory(),
routes
})
//导出router
export default router
原先的base
属性 整合到createWebHistory(base值)
中了
挂载
main.ts
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
createApp(App).use(router).mount('#app')
使用
vue-router
要配合router-view
才能显示出来
<template>
<div>
<h1>1111</h1>
<div>
<!--使用 router-link 组件进行导航 -->
<!--通过传递 `to` 来指定链接 -->
<!--`<router-link>` 将呈现一个带有正确 `href` 属性的 `<a>` 标签-->
<router-link tag="div" to="/">跳转a</router-link>
<router-link tag="div" style="margin-left:200px" to="/register">跳转b</router-link>
</div>
<hr />
<!-- 路由出口 -->
<!-- 路由匹配到的组件将渲染在这里 -->
<router-view></router-view>
</div>
</template>
import { useRouter } from 'vue-router'
const router = useRouter()
const toPage = () => {
router.push('/reg')
}