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. Cocos---简单案例:红气球

    红气球 知识点 场景切换 动画播放,帧事件,Tween 按钮控件 音效管理 案例介绍 开始界面 点击按钮自动进入游戏界面 游戏界面 游戏目的找出红气球,如果点击红气球意味着游戏成功,其余意味着游戏失败 ...

  2. 使用docker创建和运行跨平台的容器化的mssql数据库

    我们一般启用sql server数据库要么选择安装SQL Server实例和管理工具(SSMS),要么用vs自带的数据库.如今net跨平台成为趋势,今天给大家介绍另一种我最近在玩的方式,即使用dock ...

  3. 「ARC 139F」Many Xor Optimization Problems【线性做法,踩标】

    「ARC 139F」Many Xor Optimization Problems 对于一个长为 \(n\) 的序列 \(a\),我们记 \(f(a)\) 表示从 \(a\) 中选取若干数,可以得到的最 ...

  4. JOISC2020 题解

    Day1T1 建筑装饰4 题目链接:Day1T1 建筑装饰4 Solution 我们先考虑朴素的\(dp\)方法: 设\(dp_{i,j,k}\)表示前\(i\)个数中,选了\(j\)个\(B\)数组 ...

  5. React history.push()无法跳转 url改变页面不渲染

    一.history.push()无法跳转参考了很多文章 研究一下生命周期 render是要有state变化才会执行 BrowserHistory只有props变化 无法触发render 如下改造环境 ...

  6. python基础学习10

    python基础学习 内容概要 文件内光标的移动 文件数据修改 函数简介 函数语法结构 内容详情 文件内光标的移动 with open(r'路径','r',encoding='utf8') as f: ...

  7. 使用 KubeKey 搭建 Kubernetes/KubeSphere 环境的"心路(累)历程"

    目录 今天要干嘛? 在哪里干? 从哪里开始干? 快速开干! 解决依赖问题再继续干! 如何干翻重来? 连着 KubeSphere 一起干! 干不过,输了. 重整旗鼓,继续干! 再次重整旗鼓,继续干! 一 ...

  8. conda和pip加速参考

    conda install和创建虚拟环境下载慢,可以修改/root/.condarc文件: vim /root/.condarc 各系统都可以通过修改用户目录下的 .condarc 文件.Window ...

  9. Torch的索引与形变

    >>> a = torch.Tensor([[1,2],[3,4]])>>> atensor([[1., 2.], [3., 4.]])>>> a ...

  10. JS:Array

    js有五种基本数据类型:string,number,boolean,null,undefined 一种引用类型,包括:1.Object类型:2.Function类型:3.Array类型:4.RegEx ...