一、安装 vue-router

npm install vue-router@4

二、新建 vue 页面

src 目录下新建 view 目录用来存放 vue 的页面。

然后在 view目录下新建两个 vue 页面,分别是 login.vue 和 register.vue。

2.1 login.vue

  1. <template>
  2. <div>
  3. 当前是登录页面
  4. </div>
  5. </template>
  6. <script>
  7. export default {
  8. name: "login"
  9. }
  10. </script>
  11. <style scoped>
  12. </style>

2.2 register.vue

  1. <template>
  2. <div>
  3. 当前是注册页面
  4. </div>
  5. </template>
  6. <script>
  7. export default {
  8. name: "register"
  9. }
  10. </script>
  11. <style scoped>
  12. </style>

三、新建路由文件

src 目录下新建 router 目录用来存放路由配置的页面。

3.1 新建 index.js

在 router 目录下新建 index.js 配置路由。

  1. import {createRouter, createWebHistory} from 'vue-router'
  2. import routes from './routes' // 导入 router 目录下的 router.js
  3. const router = createRouter({
  4. history: createWebHistory(process.env.BASE_URL),
  5. routes
  6. })
  7. export default router;

目前 routes 里面还没有路由路径等内容,因此我们要再新建一个 routes.js文件。

3.2 新建 routes.js

还是在 router 目录下新建 routes.js

  1. import Register from '@/view/register.vue'
  2. import Login from '@/view/login.vue'
  3. const routes = [
  4. {
  5. name: 'login',
  6. path: '/login',
  7. component: Login
  8. },
  9. {
  10. name: 'register',
  11. path: '/register',
  12. component: Register
  13. }
  14. ];
  15. export default routes

导入刚刚新建的 vue 页面,然后和 path 绑定在一块。

四、在 App.vue 中配置路由的跳转

  1. <template>
  2. <div id = "app">
  3. <p>
  4. <el-button>
  5. <router-link to="/login">登录</router-link>
  6. </el-button>
  7. <el-button>
  8. <router-link to="/register">注册</router-link>
  9. </el-button>
  10. </p>
  11. <router-view/>
  12. </div>
  13. </template>
  14. <script>
  15. // App.vue 的名称叫 app
  16. export default {
  17. name: 'app'
  18. }
  19. </script>

注意要使用 router-link 标签来进行路由的跳转。

el-button是我这边 Element UI 的控件,如果没安装,可以不使用。

最最重要的一点来了:
一定要使用 <router-view/>而不是 <router-view></router-view>
一定要使用 <router-view/>而不是 <router-view></router-view>
一定要使用 <router-view/>而不是 <router-view></router-view>

重要的事情说三遍,使用 <router-view></router-view>会导致跳转后的页面无法加载出来。

五、在 main.js 中 use 路由

  1. import { createApp } from 'vue'
  2. import ElementPlus from 'element-plus'
  3. import 'element-plus/dist/index.css'
  4. import App from './App.vue'
  5. import router from './router/index' // 加载 router 底下的 index.js 路由配置文件
  6. const app = createApp(App)
  7. app.use(router)
  8. app.use(ElementPlus) // 没安装 Element UI 可以不用
  9. app.mount('#app')

六、结果

6.1 默认页面

image.png

6.2 点击登录

image.png

6.3 点击注册

image.png