vue-router

本文详细介绍了在Vue.js项目中配置vue-router的过程,包括在main.js中的基础配置、路由文件夹创建、路由入口设置及new Vue启动。同时,深入讲解了params和query两种参数传递方式,包括各自的三种形式及其在路径显示和刷新页面后参数是否丢失的特点。

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

1准备工作

建立vue.js项目文件夹,通过cmd命令,完成新建文件夹的相关项目配置

vue init webpack项目文件名

然后根据需要配置相关参数

cd进入项目文件名

npm i    npm run dev

2在main.js文件中,进行关于app.vue的基础配置

引入vue

引入vue-router

引入各个路由对象

并配置路由路径和name

import Vue from "vue";
import VueRouter from "vue-router";

Vue.use(VueRouter);

const routes = [
  {
    path: "/",
    redirect: "/ZhzDesign",
  },

  {
    path: "/home",
    name: "Home",
    component: () => import("../views/Home.vue"),
  },
];

const router = new VueRouter({
  routes,
});

export default router;

使用vue-router挂载属性

3建立路由文件夹,以及相关路由文件

4在路由入口app.vue中流坑(router-view)

5new Vue启动

根据不同的页面分配不同的路由,就实现了路由的跳转

一、params

params有三种传参形式

1、router-link形式传参【在路径中显示参数,刷新页面参数不丢失】

//配置路由
path:'/path/:id'

//传递方式,在path后面跟上对应的值
<router-link :to="`/path/${id}`"><router-link>
  
//获取参数
$route.params.id

//传递后形成的路径,刷新页面,参数不丢失
/path/id值

2、编程式导航形式传参,通过path匹配路由【在路径中显示参数,刷新页面参数不丢失】

//配置路由
path:'/path/:id'

//传递方式,通过path匹配路由,且在path后面跟上对应的值
this.$router.push({
  path: `/path/${id}`
})

//获取参数
$route.params.id

//传递后形成的路径,刷新页面,参数不丢失
/path/id值
————————————————
版权声明:本文为优快云博主「于于·」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/m0_37843876/article/details/108196266

3、编程式导航形式传参,通过name匹配路由【不在路径中显示参数,刷新页面参数丢失

//传递方式,通过name匹配路由
this.$router.push({
  name: "name", //路由配置中的name
  params:{
    id:222
  }
});

//获取参数
$route.query.name

//传递后形成的路径,刷新页面,参数丢失
/path
————————————————
版权声明:本文为优快云博主「于于·」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/m0_37843876/article/details/108196266

二、query

query有三种传参形式

1、router-link形式传参【在路径中 ?后面显示参数,刷新页面参数不丢失】

//传递方式
<router-link :to="{path:'/path',query:{id:'123'}}"><router-link>
//或者
<router-link :to="/path?id=123"><router-link>

//获取参数
$route.query.name

//传递后形成的路径,刷新页面,参数不丢失
/path?id=123

2、编程式导航形式传参,通过path匹配路由【在路径中 ?后面显示参数,刷新页面参数不丢失】

//传递方式,通过path匹配路由
this.$router.push({
  path:'/path',
  query: {
    id:'123'
  }
})

//获取参数
$route.query.name

//传递后形成的路径,刷新页面,参数不丢失
/path?id=123

3、编程式导航形式传参,通过name匹配路由【在路径中 ?后面显示参数,刷新页面参数不丢失】

//传递方式,通过name匹配路由
this.$router.push({
  name:'name',//路由配置中的name
  query: {
    id:'123'
  }
})

//获取参数
$route.query.name

//传递后形成的路径,刷新页面,参数不丢失
/path?id=123

总结:query和params分别都有三种形式可以传参:

router-link形式
通过path匹配路由的编程式导航形式
通过name匹配路由的编程式导航形式
而这其中只有params方式的 通过name匹配路由的编程式导航形式 不会在路径中带有参数(且刷新页面参数丢失),其他都会带有参数值(刷新页面参数不丢失)

### Vue Router 安装 为了使用 Vue Router,在项目中需先完成其安装。推荐的方式是利用 npm 或 yarn 来添加依赖: ```bash npm install vue-router # 或者 yarn add vue-router ``` 这一步骤确保了开发环境中有最新版本的 Vue Router 可供调用[^3]。 ### 配置 Vue Router 配置 Vue Router 主要涉及创建路由实例并将其挂载到 Vue 应用上。下面是一个简单的例子来展示如何设置基本的路由功能: ```javascript // 创建 routes.js 文件定义路径映射关系 import { createRouter, createWebHistory } from 'vue-router' import Home from './views/Home.vue' import About from './views/About.vue' const routes = [ { path: '/', name: 'Home', component: Home, }, { path: '/about', name: 'About', component: About, } ] const router = createRouter({ history: createWebHistory(), routes // 缩写为 `routes: routes` }) export default router; ``` 这段代码展示了如何导入必要的模块,定义页面组件对应的路径以及初始化路由器对象[^1]。 ### 使用 Vue Router 一旦完成了上述两步操作之后就可以在应用入口文件 main.js 中引入刚刚创建好的路由实例,并传给 Vue 实例: ```javascript import { createApp } from 'vue'; import App from './App.vue'; import router from './router'; createApp(App).use(router).mount('#app'); ``` 这样就成功集成了 Vue Router 到应用程序当中去了。 对于更复杂的场景比如嵌套路由、导航守卫等功能,则可以参阅官方文档获取更多指导。 ### 示例 这里给出一个完整的简单案例用于理解整个流程: #### 1. 安装 VueVue Router 假设已经有一个基于 Vue CLI 初始化的新工程,执行如下命令即可获得所需库支持: ```bash npm install vue@next vue-router@next ``` #### 2. 设置路由表 编辑 src/router/index.js 添加如下内容: ```javascript import { createRouter, createWebHashHistory } from "vue-router"; import HelloWorld from "../components/HelloWorld"; const routes = [{ path: "/", component: HelloWorld }]; const router = createRouter({ history: createWebHashHistory(), routes, }); export default router; ``` #### 3. 修改主程序启动逻辑 最后调整 src/main.js 如下所示: ```javascript import { createApp } from "vue"; import App from "./App.vue"; import router from "./router"; createApp(App).use(router).mount("#app"); ``` 以上就是关于 Vue Router 的快速入门指南,涵盖了从零开始构建带有路由功能的应用所需的全部知识点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值