Vue中路由router详解

路由是关键功能,分为后端和前端路由。在前端,使用vue-router进行安装和配置,包括在main.js中引入和在App.vue中使用<router-view>。通过router-link和this.$router.push()进行页面跳转,支持参数传递和重定向。子路由的设置涉及children属性,用于在父组件的<router-view>中渲染子组件。
摘要由CSDN通过智能技术生成
  1. 什么是路由

  1. 一个路由就是一组映射关系(key---value)

  1. key为路径,value可能是functionComponent

  1. 路由的分类

后端路由

服务器接收到一个请求时,根据请求路径找到匹配的函数来处理请求,返回响应数据

前端路由

当浏览器的路径改变时,对应的组件就会显示

3. 路由的安装

使用vue-cli进行安装,vue2对应的版本为vue-router@3,使用npm i vue-router@3进行安装

1.跳转到项目根目录下

2. 使用npm i vue-router@3安装

4. 配置路由

  1. 在src下创建router文件夹,该文件夹下创建index.js文件,具体内容如下

import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

//引入对应的路由组件
import xxx from 'xxx'

//创建并暴露一个router
export default new VueRouter({
    routes:[
        {
            path:'/跳转路径',
            component:xxx
        },
    ]
})
  1. 在main.js文件中配置router

import router from './router'

//应用
Vue.use(router)

//创建vm
new Vue({
    el:'#app',
    router,
    render: h => h(App), 
})
  1. 在App.vue页面中添加<router-view>标签

<template>
  <div id="app">
    <router-view></router-view>
  </div>
</template>

5. 使用路由

  1. router-link标签可以设置to属性

<div id='app'>
    <router-link to="/index">index </router-link>
    <router-link to="/detail">去详情 </router-link>
<div>
  1. 函数式跳转this.$router.push(path)

    //query传参的
    this.$router.push({path:'/detail',query:{id:103}})
    //通过 this.$router.query.id 接收参数

    //params传参的
    this.$router.push({
                name:"my",
                params:{userid:999}
            })
    //通过 this.$router.params.userid 接收参数
  1. 重定向跳转

//在router文件夹下的index.js文件中
 {
            //跳转路径
            path:'/',
            //重定向路径
            redirect:'/login'
},

6. 子路由的设置

声明路由的时候设置children,这是children是一个数组,数组里是路由对象,这个children的组件就会渲染在它父组件的<router-view>中,注意children中的子路由的对象中的path属性的内容不加/,如果加/ 会被解析为根路由。


{
            path:'/detail',
            component: detail,
            children:[
              {
                
                path:'play',
                component:play
              },{
                path:"course",
                component:course
              }
              
            ]
        },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JAVA海洋里的小鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值