vue-router——路由配置

本文详细介绍Vue Router的基本概念、安装步骤及使用方法。包括一级路由、二级路由配置,并讲解如何在一个页面内实现多个路由视图区域的展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.什么是vue-router

vue-router路由插件,这里的路由并不是指我们平时所说的硬件路由器,这里的路由就是SPA(单页应用)的路径管理器。再通俗的说,vue-router就是我们WebApp的链接路径管理系统。

二.vue-router安装

安装vue-router

vue-router是一个插件包,所以我们还是需要用npm或cnpm来进行安装的。打开命令行工具,进入你的项目目录,输入下面命令。

npm install vue-router --save-dev

解读router/index.js文件

我们用vue-cli生产了我们的项目结构,你可以在src/router/index.js文件,这个文件就是路由的核心文件,我们先解读一下它。

import Vue from 'vue'   //引入Vue

import Router from 'vue-router'  //引入vue-router

import Hello from '@/components/Hello'  //引入根目录下的Hello.vue组件

Vue.use(Router)  //Vue全局使用Router

export default new Router({

  routes: [              //配置路由,这里是个数组

    {                    //每一个链接都是一个对象

      path: '/',         //链接路径

      name: 'Hello',     //路由名称,

      component: Hello   //对应的组件模板

    }

  ]

})

上边的代码中已经对每行都进行了注释,其实在这个路由文件里只配置了一个功能,就是在进入项目时,显示Hello.vue里边的内容代码。

三.vue-router路由配置(一级路由)

1.新建details.vue/sort.vue/mine.vue文件,具体写法如下

2.App.vue文件

3.index.js文件(路由配置文件)

效果如图:

四.vue-router路由配置(二级路由)

1.新建login.vue/register.vue两个文件

2.在首页的组件下编写router-link路径

3.配置路由,二级路由用children属性实现,注意:二级路由路径不用写"/","/"表示找子路径,这里直接写组件名称即可。

五.单页面多路由区域操作

“单页面多路由区域操作”,实际需求是这样的,在一个页面里我们有2个以上<router-view>区域,我们通过配置路由的js文件,来操作这些区域的内容。也就是不同的router-view对应不同的组件。便于样式设置。如图:我想在Helloworld文件下,让<router-view name="left"></router-view>对应登录组件,让<router-view name="right"></router-view>对应注册组件。

在index.js文件下配置路由文件

### Vue Router 动态路由相关面试题解析 #### 动态路由的定义与实现方式 在 Vue.js 中,`vue-router` 支持通过动态参数的形式匹配 URL 路径。这种功能通常用于处理具有可变部分的路径,比如 `/user/:id` 表示可以接受任意 `id` 参数的用户详情页面。 动态路由可以通过在路径中使用占位符的方式定义[^1]。例如: ```javascript const routes = [ { path: '/user/:id', component: UserComponent, children: [ { path: 'profile', component: ProfileComponent } ] } ]; ``` 上述代码片段展示了如何利用 `path` 属性中的冒号前缀 (`:`) 来创建一个动态段 `:id`,并支持嵌套子路由--- #### 获取动态路由传递的参数 当访问带有动态参数的路由时,可以通过 `$route.params` 对象获取这些参数值。例如,在进入 `/user/123/profile` 页面后,可以在组件内部这样操作: ```javascript export default { mounted() { const userId = this.$route.params.id; console.log('User ID:', userId); // 输出 "User ID: 123" }, }; ``` 如果需要监听路由变化以实时更新数据,则应结合 `watch` 或导航守卫完成逻辑。 --- #### 当前路由信息的获取方法 除了读取动态参数外,还可以通过 `$route` 对象全面了解当前激活的路由状态。它包含了诸如 `name`, `path`, 和 `query` 等属性。下面是一个例子展示如何打印完整的路由对象内容: ```javascript console.log(this.$route); // 结果可能类似于: // { // path: "/user/123", // name: undefined, // params: { id: "123" }, // query: {}, // hash: "", ... // } ``` 这使得开发者能够灵活地基于用户的交互调整视图行为或者触发额外的服务请求。 --- #### 路由懒加载的应用场景 为了优化应用性能,推荐采用按需加载策略——即仅在实际需要某个特定模块之前才去下载它的 JavaScript 文件[^2]。对于大型项目而言尤其重要,因为它能显著减少初始包大小从而加快首屏渲染速度。 以下是配置带懒加载特性的动态路由实例: ```javascript { path: '/lazyLoadExample/:itemId', component: () => import(/* webpackChunkName: "lazy-load-example" */ '@/views/LazyLoadExample.vue'), } ``` 这里运用了 ES6 的箭头函数配合 Webpack 提供的功能实现了异步导入机制。 --- #### 常见路由模式的区别 最后值得一提的是,默认情况下 Vue Router 使用 HTML5 History API 实现无刷新跳转效果;然而如果不希望依赖服务器端的支持也可以切换到 Hash 模式。两种主要区别在于地址栏显示形式以及 SEO 友好度方面各有优劣权衡考虑因素较多。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值