vue路由的创建及基本使用


Vue.js 是一款流行的前端JavaScript框架,它提供了强大的视图层管理功能,而Vue Router 则是官方推荐的路由管理库,用于处理页面间的导航和数据传递。本文将深入讲解Vue Router的创建及基本使用,包括query和params参数的传递、实现动画效果以及使用组件模板。 1. **Vue Router 的安装与配置** 在开始使用Vue Router之前,需要先通过npm或yarn将其安装到项目中。在命令行中输入: ``` npm install vue-router 或 yarn add vue-router ``` 然后在Vue实例中引入并配置Vue Router。首先创建一个router.js文件,然后初始化Vue Router对象,配置路由路径和对应的组件: ```javascript import Vue from 'vue' import Router from 'vue-router' import HelloWorld from '@/components/HelloWorld.vue' // 示例组件 Vue.use(Router) export default new Router({ routes: [ { path: '/', component: HelloWorld }, // 更多路由配置... ] }) ``` 2. **动态路由(params)** Vue Router 支持动态路由匹配,通过`params`可以传递参数。例如,创建一个动态路径`/:userId`,`userId`即为动态参数。在组件中,可以通过`this.$route.params`访问这些参数: ```javascript // 路由配置 { path: '/user/:userId', component: UserDetail } // 在组件中获取params export default { data() { return { userId: this.$route.params.userId } } } ``` 3. **查询参数(query)** 与params不同,query参数显示在URL的问号后面,如`/user?userId=123`。在组件中,同样通过`this.$route.query`访问。query参数在刷新页面时仍会保留,但不会显示在浏览器历史记录中: ```javascript // 路由配置,无须特殊配置,直接通过URL携带query { path: '/user', component: UserDetail } // 在组件中获取query export default { data() { return { userId: this.$route.query.userId } } } ``` 4. **导航守卫** Vue Router 提供了多种级别的导航守卫,如全局守卫、路由独享守卫和组件内守卫,用于在导航发生时执行校验、重定向等操作。例如,全局前置守卫可以控制用户是否允许访问某个路由: ```javascript router.beforeEach((to, from, next) => { if (to.meta.requiresAuth && !store.getters.isLoggedIn) { next('/login') } else { next() } }) ``` 5. **路由元信息(meta)** 可以在路由配置中添加`meta`字段,用于存储路由相关的元信息,这些信息可以在组件内部通过`this.$route.meta`访问,常用于权限控制或页面标题设置。 6. **路由间的动画** Vue Router 提供了`transition`属性,可以结合Vue的过渡系统实现页面间的动画效果。在`<router-view>`上添加`transition`属性,并在CSS中定义相应的动画: ```html <transition name="fade"> <router-view></router-view> </transition> ``` 并在CSS中定义动画: ```css .fade-enter-active, .fade-leave-active { transition: opacity .5s; } .fade-enter, .fade-leave-to /* .fade-leave-active for <=2.1.8 */ { opacity: 0; } ``` 7. **组件模板** 在Vue Router中,每个路由都对应一个组件。组件模板定义了该路由页面的结构和内容。例如,一个简单的组件模板可能如下所示: ```html <template> <div class="user-detail"> <h1>{{ user.name }}</h1> <p>Email: {{ user.email }}</p> </div> </template> <script> export default { data() { return { user: {} // 用户信息,通常通过params或query获取 } } } </script> ``` 以上就是Vue Router的基础用法,包括路由的创建、动态路由与查询参数的传递、导航守卫、元信息以及动画和组件模板的使用。通过掌握这些知识,你可以构建出具有强大导航功能的Vue应用。在实际项目中,还可以根据需求进一步探索更多高级特性,如命名视图、懒加载、嵌套路由等。








- 1























- 粉丝: 58
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 移动互联网时代WEB前端类课程教学模式改革的研究与实践.docx
- 大数据时代广电新媒体融合发展路径探索.docx
- 《高级程序设计方案JAVA》作业.doc
- 基于微信小程序的高校学生宿舍报修管理系统的设计.docx
- 中国网民规模达9.04亿互联网普及率提升至64.5.docx
- 实验四-软件防火墙的配置和使用(第五六章实验).doc
- plc在炭素生产煅烧环节加料排料中的应用.doc
- 单片机原理及应用——基于Proteus和Keil-C.doc
- OpenStack政企专享云运维实践.pdf
- 方程段1部分1基于嵌入式开发技术的温室大棚控制系统设计.docx
- 建设工程项目管理真题.doc
- MATLAB数据处理入门.ppt
- 图书借阅管理系统(武汉大学东湖分校09级计算机应用技术四班陈俊).doc
- 软考项目管理的那些事儿.docx
- 《公司治理第十二章--网络治理.ppt
- 数据库研究设计报告学生选课系统.doc



评论0