1 # Vue 路由
2 # 1.理解:一个路由(toute)就是一组映射关系(key-value),多个路由需要路由器(router)进行管理
3 # 2.前端路由:key是路径,value是组件
4 # 3.vue-router安装
5 # 注意:vue-router4只能在vue3中使用、vue-router3才能用在vue2中
6 npm i vue-router@3
7 # 4.基本使用
8 #main.js
9 import Vue from 'vue'
10 import App from './App.vue'
11 // 引入路由
12 import VueRouter from 'vue-router'
13 // 引入自己配置的路由
14 import router from './router'
15
16 Vue.config.productionTip = false;
17 // use它
18 Vue.use(VueRouter);
19
20 new Vue({
21 render: h => h(App),
22 router: router // 加载它
23 }).$mount('#app');
24 # ./router/index.js 自己配置路由
25 import VueRouter from 'vue-router'
26 import Home from '../components/Home'
27 import About from '../components/About'
28
29 // 创建一个路由器
30 export default new VueRouter({
31 routes:[
32 {
33 path:'/about',
34 component: About
35 },
36 {
37 path:'/home',
38 component: Home
39 }
40 ]
41 });
42 # 5.实现切换(active-class可配置高亮样式)
43 <router-link class="list-group-item" active-class="active" to="/about">About</router-link>
44 # 6.指定展示路由组件位置
45 <router-view></router-view>
46 # 7.几个注意点
47 # .路由组件通常存放在pages文件夹,一般组件通常放在conmponents文件夹。
48 # .通过切换,“隐藏”了的路由,默认是被销毁掉的,需要的时候再去挂载。
49 # .每个组件都有自己的$route属性,里边存储着自己的路由信息。
50 # .整个应用只有一个router,可以通过路由组件$router属性获取到。
51 # 8.路由的query参数
52 # .传递参数
53 <!-- 跳转并携带query参数,to字段的字符串写法 -->
54 <router-link :to="/home/message/detail?id=666&title=hello">跳转</router-link>
55 <router-link :to="`/home/message/detail?id=${m.id}&title=${m.title}`">跳转</router-link>
56 <!-- 跳转并携带query参数,to字段的对象写法 -->
57 <router-link :to="{
58 path:'/home/message/detail',
59 query:{
60 id:m.id,
61 title:m.title
62 }
63 }">跳转</router-link>
64 # .接收参数:
65 $route.query.id
66 $route.query.title
67 # 9.命名路由
68 # .作用:可以简化路由的跳转
69 # .给路由命名
70 export default new VueRouter({
71 routes:[
72 {
73 name:'guanyu', // 命名路由
74 path:'/about', // 路劲
75 component: About
76 },
77 {
78 path:'/home',
79 component: Home,
80 children:[
81 {
82 path:'messages',
83 component: Messages,
84 children:[
85 {
86 name: 'xiangqing',
87 path: 'message',
88 component: MessageInfo
89 }
90 ]
91 },
92 {
93 path:'news',
94 component: News
95 }
96 ]
97 }
98 ]
99 });
100 # .简化跳转
101 <!-- 简化前,需要写完整的路劲 -->
102 <router-link to="/home/test/welcome">跳转</router-link>
103 <!-- 简化后,直接名字跳转 -->
104 <router-link :to="{name:'hello'}">跳转</router-link>
105 <!-- 简化写法,配合query传参 -->
106 <router-link :to="{
107 name:'hello',
108 query:{id: '666', title:'hello'}
109 }">跳转</router-link>
110 # 10.路由的params传参
111 # .配置路由接受params参数
112 export default new VueRouter({
113 routes:[
114 {
115 name:'guanyu', // 命名路由
116 path:'/about', // 路劲
117 component: About
118 },
119 {
120 path:'/home',
121 component: Home,
122 children:[
123 {
124 path:'messages',
125 component: Messages,
126 children:[
127 {
128 name: 'xiangqing',
129 path: 'message/:id/:title', // params传参
130 component: MessageInfo
131 }
132 ]
133 },
134 {
135 path:'news',
136 component: News
137 }
138 ]
139 }
140 ]
141 });
142 # .传递参数(特别注意:路由携带params参数时,若使用to的对象写法,则不能使用path配置项,必须使用name配置!)
143 <ul>
144 <!-- <li v-for="(m, index) in messageList" :key="index"> <router-link :to="`/home/messages/message/${m.id}/${m.title}`">{{m.title}}</router-link> </li> -->
145 <li v-for="(m, index) in messageList" :key="index"> <router-link :to="{
146 name: 'xiangqing', // params 传参只能作用在命名路由上
147 params:{
148 id: m.id,
149 title: m.title
150 }
151 }">{{m.title}}</router-link> </li>
152 </ul>
153 # .接受参数
154 $route.params.id
155 $route.params.title

Vue 路由的简单使用(命名路由、query路由传参、params路由传参)的更多相关文章

  1. vue 路由传参 params 与 query两种方式的区别

    初学vue的时候,不知道如何在方法中跳转界面并传参,百度过后,了解到两种方式,params 与 query.然后,错误就这么来了:  router文件下index.js里面,是这么定义路由的: { p ...

  2. vue编程式导航,命名路由

    //使用 window.location.href 的形式,叫做 编程式导航 绑定事件的形式 <template> <div class="goods-item" ...

  3. vue-router4 |name的作用|query传参|parmas传参|动态路由参数|命名视图|别名alias|前置路由守卫|路由过渡效果|滚动行为

    vue-router4 出现 No match found for location with path "/" #### router/index.ts文件 import { c ...

  4. Python--day67--Jsonresponse响应介绍和路由系统的分组命名匹配方式(简单介绍)

    1,Jsonresponse响应介绍: ,2,路由系统的分组命名匹配方式:(简单介绍)

  5. Vue学习(三)-Vue-router路由的简单使用

    一.Vue-Router环境的安装: 如果使用vue-cli脚手架搭建,项目创建过程中会提示你自否选择使用vue-router,选择使用即可, 二.路由学习 1.路由的配置    vue-cli项目自 ...

  6. vue.js路由参数简单实例讲解------简单易懂

    vue中,我们构建单页面应用时候,一定必不可少用到vue-router vue-router 就是我们的路由,这个由vue官方提供的插件 首先在我们项目中安装vue-router路由依赖 第一种,我们 ...

  7. 路由传值及获取参数,路由跳转,路由检测,this.$route.query和this.$route.params接收参数,HttpGet请求拼接url参数

    配置动态路由参数id: routes: [ // 动态路径参数 以冒号开头 { path: '/user/:id', component: User } ] html路由跳转: <router- ...

  8. AngularJs ui-router 路由的简单介绍

    之前有写过一篇关于Angular自带的路由:ngRoute.今天来说说Angular的第三方路由:ui-router.那么有人就会问:为什么Angular有了自带的路由,我们还需要用ui-router ...

  9. Vue-router路由的简单使用

    一.安装路由: 如果使用vue-cli脚手架搭建,项目创建过程中会提示你自否选择使用vue-router,选择使用即可, 二.创建组件 1.vue-cli项目自动创建的路由文件是src包下面的rout ...

随机推荐

  1. 【多线程】观测线程状态 getState()

    观测线程状态 getState() Thread.State(查看JDK帮助文档) 线程状态.线程可以处于以下状态之一: [NEW] 尚未启动的线程处于此状态. [RUNNABLE] 在Java虚拟机 ...

  2. 记 iTextSharp 剪裁 PDF 指定区域的方法

    原文 引用 itextsharp 5.5.13.2 itextsharp.xtra 5.5.13.2 方法 /// <summary> /// 截取pdf文件,例如把A4截出指定的A6区域 ...

  3. MySQL的Explain总结

    Explain简介 MySQL优化器在基于成本的计算和基于规则的SQL优化会生成一个所谓的执行计划,我们就可以使用执行计划查看MySQL对该语句具体的执行方式. 介绍这个好啰嗦就是了,我们可以通过这个 ...

  4. 详解SQL操作的窗口函数

    摘要:窗口函数是聚集函数的延伸,是更高级的SQL语言操作,主要用于AP场景下对数据进行一些分析.汇总.排序的功能. 本文分享自华为云社区<GaussDB(DWS) SQL进阶之SQL操作之窗口函 ...

  5. 《HALCON数字图像处理》第一、二章笔记

    目录 第一章 绪论 1.1 图像和图像处理 1.1.1 图像 1.1.2 数字图像 1.1.3 图像处理及其发展过程 1.2 数字图像处理的步骤和方法 1.3 数字图像处理系统的硬件组成 1.4 数字 ...

  6. CNN Training Loop Refactoring Simultaneous Hyperameter Testing

    上例中, 尝试两个不同的值 为此: alt+shift可以有多个光标,再jupyter notebook中. alt+d,alt+shift,ctrl+鼠标左键多点几个,都可以同时选择多个目标,并进行 ...

  7. ”只用 1 分钟“ - 超简极速 Apk 签名 & 多渠道打包神器

    众所周知,渠道包作为当下国内 Android 应用市场常见的分发方式,当 APP 和后台交互或进行数据上报时,会带上各自的 channel 渠道信息,以此方便企业 & 开发者统计 APP 在各 ...

  8. JS:!非

    取非运算符: 开关思想:0为false,1为true: 把一个变量中保存一个布尔值 然后在业务执行时,修改这个变量的值: 为取反 然后通过变量的值执行分支业务 例子: var a = "12 ...

  9. Snowflake(雪花算法),什么情况下会冲突?

    文章首发在公众号(龙台的技术笔记),之后同步到博客园和个人网站:xiaomage.info 分布式系统中,有一些需要使用全局唯一 ID 的场景,这种时候为了防止 ID 冲突可以使用 36 位的 UUI ...

  10. Spring Boot:整合Swagger

    1.先创建一个SpringBoot项目 其中application.properties文件中是创建项目时自动添加的配置. 2.添加相关maven依赖 <!--swagger--> < ...