当前位置:首页 > 技术分析 > 正文内容

Vue中的路由配置常用属性

ruisui883个月前 (01-12)技术分析24

router:路由

页面跳转的核心库;

引入路由:import VueRouter from 'vue-router';
注册路由:const router = new VueRouter({
})

mode:模式

路由有hash history两种模式:

hash模式URL中包含#,#后边是路径名称;

const router = new VueRouter({
 		mode: 'hash',
})

history模式URL中不包含#,域名后边直接就是路径名称;

const router = new VueRouter({
 		mode: 'history',
})

base:基路径

默认是“/”,当设置基路径的时候,访问http://localhost:8080/和访问http://localhost:8080/home是一样的

const router = new VueRouter({
 		base: '/home',
})

routes:路径集合

给每个页面配置指定路径信息,通过匹配路径信息跳转到指定页面,数据结构为数组结构;

const router = new VueRouter({
 		routes:[
      {
        path:'/home',
        name:'Home',
        component: () => import('../View/home'),
        children:[
        ]
      }
    ]
})

path: 路径

路由会根据URL中的路径进行匹配path,匹配通过会跳转到相对应组件页面;

const router = new VueRouter({
 		routes:[
      {
        path:'/home', //路径
        name:'Home',
        component: () => import('../View/home'),
        children:[
        ]
      }
    ]
})

name:名称

路由跳转也可以根据指定name名称跳转到匹配组件页面;

const router = new VueRouter({
 		routes:[
      {
        path:'/home', 
        name:'Home', //name名称
        component: () => import('../View/home'),
        children:[
        ]
      }
    ]
}

redirect:重定向

可以通过重定向,跳转到指定的页面组件;

const router = new VueRouter({
 		routes:[
      {
        path:'/',
        redirect:'home' //重定向
      },
       {
        path:'/home', 
        name:'Home',
        component: () => import('../View/home'),
        children:[
        ]
      }
    ]
}

component:组件

为当前路径配置相对应的组件,匹配path或name成功后,获取当前配置的组件渲染到页面

const router = new VueRouter({
 		routes:[
       {
        path:'/home', 
        name:'Home',
        component: () => import('../View/home'),
        children:[
        ]
      }
    ]
}

meta:路由元信息

可以在此属性内配置信息或参数,可能是否拦截路由或者组件需要的信息都可以配置;

const router = new VueRouter({
 		routes:[
       {
        path:'/home', 
        name:'Home',
        component: () => import('../View/home'),
        meta: {
                 title: '首页',
                 is_active: true
         },
        children:[
        ]
      }
    ]
}

children:子路由

可能当前组件需要展示多个子组件,通过不同的事件展示对应的子组件;可以使用children来进行配置;

注意:子组件中的path不要以“/”开头,直接配置路径地址就可以;

const router = new VueRouter({
 		routes:[
       {
        path:'/home', 
        name:'Home',
        component: () => import('../View/home'),
        meta: {
                 title: '首页',
                 is_active: true
         },
        children:[
          {
             path:'new', 
        		 name:'New',
       			 component: () => import('../View/home'),
          }
        ]
      }
    ]
}

befoerEach:路由切换之前(路由守卫,路由卫士)

一般做后台管理平台的可能需要做些判断,判断用户权限或者是否登陆等信息;

有三个参数:

to:要切换到那个页面的路径信息

from:现在在那个页面的路径信息

next:下一步事件,befoerEach方法中必须指向next()事件,否则无法切换路径;

router.beforeEach(function (to, from, next) {
  //可以在此做些判断是否指向next()
       next()
    
})
 

next:放行通过

在befoerEach方法中使用:一般用于判断是否要切换路由;

router.beforeEach(function (to, from, next) {
  //可以在此做些判断是否指向next()
    if(to.name == 'Home'){
       next()
    }    
})

afterEach:路由切换之后(路由守卫,路由卫士)

在路由切换完成后执行,可以在此方法中设置页面的title,或这一些其它操作;

有两个参数:

to:要切换到那个页面的路径信息

from:现在在那个页面的路径信息

router.afterEach((to,from)=>{
 		 if (to.meta.title){
   				 document.title = to.meta.title;
 		 }else {
   				 document.title = "敲代码的猪"
 		 }
});


关注收藏不迷失,后续vue-router如何使用会全面整理后再发小文章;

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/224.html

标签: vue路由传值
分享给朋友:

“Vue中的路由配置常用属性” 的相关文章

【Vue3 基础】05.组件化

这是 Vue3 + Vite + Pinia +TS + Element-Plus 实战系列文档。最近比较忙没什么时间写文章,争取早日把这个系列完结吧~生命周期和模板引用在本章之前,我们通过响应式 api 和声明式渲染,处理了 DOM 的更新,但光是这些,对于一些复杂的需要手动操作 DOM 的情况,...

jvm疯狂吃内存,到底是谁的锅?

jvm应该是每一个java程序员都需要掌握的内容,但是在没有遇到问题之前,很多都是基于理论的,唯有实战才能增加个人的知识储备。本文是从一个角度来分析是谁在狂吃内存,希望对你有所帮助。本文是易观技术人员注意到一台开发机上各个微服务进程占用内存很高,随即便展开了调查......ps:本文来源于:http...

html5+css3做的响应式企业网站前端源码

大家好,今天给大家介绍一款,html5+css3做的响应式企业网站前端源码 (图1)。送给大家哦,获取方式在本文末尾。首页banner幻灯片切换特效(图2)首页布局简约合理(图3)关于我们页面(图4)商品列表(图5)商品详情(图6)服务介绍(图7)新闻列表(图8)联系我们(图9)源码完整,需要的朋友...

Vue进阶(幺叁捌):vue路由传参的几种基本方式

1、动态路由(页面刷新数据不丢失)methods:{ insurance(id) { //直接调用$router.push 实现携带参数的跳转 this.$router.push({ path: `/particulars/${id}`,...

vue开发微信小程序 - 登录组件

移动端登录功能抽象为通用组件,满足:不同移动端应用中一键登录功能复用支持多种登录:微信登录、H5、QQ登录登录组件使用//引用登录组件 import login from "../components/user/login.vue" export default { compone...

嵌入式实操——基于RT1170 使能SEMC配置SDRAM功能(八)

本文主要是通过迁移的思维,记录本人初次使用NXP MCUXpresso SDK API进行BSP开发MCUXpresso SDK SEMC API 接口链接  在MCUXpresso SDK 框架下提供了对SEMC DDR进行操作的接口。学习链接:https://community.nxp.com/...