通用后台管理——Vue router的使用

目录

[一、Vue router是什么?](#一、Vue router是什么?)

[二、下载Vue router](#二、下载Vue router)

三、使用router

四、使用嵌套router​​​​​​​


一、Vue router是什么?

官网:安装 | Vue Router

是Vue.js的官方路由,实现多页跳转到功能,还包括:

  • 嵌套路由映射

  • 动态路由选择

  • 模块化、基于组件的路由配置

  • 路由参数、查询


二、下载Vue router

(1)查看对应的router版本号

进入npmjs.com

(2)下载指定版本命令

npm i vue-router@3.6.5


三、使用router

(1)一般在src文件夹下新建一个router文件夹,里边新建文件index.js

(2)具体步骤:

1、导入vue-router:

javascript 复制代码
 //导入vue-router
 import Vue from 'vue'
 import VueRouter from 'vue-router'
 Vue.use(VueRouter)

2、创建路由组件

在src文件夹中新建一个views包含所有组件,

创建Home组件:

javascript 复制代码
 <template>
 <h1>我是home</h1>
 </template>
 <script>
 export default{
     data(){
         return{
 ​
         }
     }
 }
 </script>

创建User组件:

javascript 复制代码
 <template>
     <h1>我是user</h1>
     </template>
     <script>
     export default{
         data(){
             return{
     
             }
         }
     }
     </script>

3、将组件和路由映射

在index.js中添加如下:

javascript 复制代码
 const routes = [
     { path: '/home', component: Home },
     { path: '/user', component: User }
   ]

4、创建router实例

在index.js中添加如下:

javascript 复制代码
 const router = new VueRouter({
     routes // (缩写) 相当于 routes: routes
 })

5、创建和挂载根实例

在index.js中添加如下:

javascript 复制代码
 export default router 
 //将router对象作为默认导出,在其他导入时直接导入router即可

在main.js中添加如下内容:

javascript 复制代码
 import router from "./router"
 new Vue({
   router,
   render: h => h(App),
 }).

6、路由出口,将路由匹配到的组件渲染在html中

javascript 复制代码
 <template>
   <div id="app">
      <!-- 路由出口 -->
     <!-- 路由匹配到的组件将渲染在这里 -->
     <router-view></router-view>
   </div>
 </template>
 ​
 <script>
   export default {
     name: 'App'
 ​
   }
 </script>

四、使用嵌套router

(1)先创建一个Main.vue作为主 组件

javascript 复制代码
 <template>
     <div>
         <h1>我是main</h1>
     </div>
 </template>
 <script>
     export default {
         data() {
             return {
 ​
             }
         }
     }
 </script>

(2)设置嵌套路由

在index.js配置嵌套路由:

javascript 复制代码
 //引入新建的组件
 import Home from '../views/Home.vue'
 import User from '../views/User.vue'
 import Main from '../views/Main.vue'
 Vue.use(VueRouter)
 //1、新建组件,一般src文件夹下views中包含所有组件
 //2、将组件和路由映射
 //嵌套路由
 const routes = [
     //主路由,Main
     {
         path: '/',
         component: Main,
         children: [
             //子路由
             { path: 'home', component: Home },
             { path: 'user', component: User }
         ]
     }
 ​
 ​
 ]
 //3、创建router实例
 const router = new VueRouter({
     routes // (缩写) 相当于 routes: routes
 })
 ​
 //4、挂载到根结点
 // 4. 创建和挂载根实例。
 // 记得要通过 router 配置参数注入路由,
 // 从而让整个应用都有路由功能
 ​
 export default router //将router对象作为默认导出,在其他导入时直接导入router即可

(3)路由出口。

将路由匹配到的组件渲染在html中,这个应该是在Host.vue主组件中。

javascript 复制代码
 <template>
     <div>
         <h1>我是main</h1>
         <!-- 路由出口 -->
         <!-- 路由匹配到的组件将渲染在这里 -->
         <router-view></router-view>
     </div>
 </template>
相关推荐
学不会•1 小时前
css数据不固定情况下,循环加不同背景颜色
前端·javascript·html
EasyNTS2 小时前
H.264/H.265播放器EasyPlayer.js视频流媒体播放器关于websocket1006的异常断连
javascript·h.265·h.264
活宝小娜3 小时前
vue不刷新浏览器更新页面的方法
前端·javascript·vue.js
程序视点4 小时前
【Vue3新工具】Pinia.js:提升开发效率,更轻量、更高效的状态管理方案!
前端·javascript·vue.js·typescript·vue·ecmascript
coldriversnow4 小时前
在Vue中,vue document.onkeydown 无效
前端·javascript·vue.js
我开心就好o4 小时前
uniapp点左上角返回键, 重复来回跳转的问题 解决方案
前端·javascript·uni-app
开心工作室_kaic4 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
刚刚好ā4 小时前
js作用域超全介绍--全局作用域、局部作用、块级作用域
前端·javascript·vue.js·vue
沉默璇年6 小时前
react中useMemo的使用场景
前端·react.js·前端框架
yqcoder6 小时前
reactflow 中 useNodesState 模块作用
开发语言·前端·javascript