关于Vue中路由配置和router-link的一点补充
前置知识:
1、Vue组件、单页面组件
2、目录结构关联性知识
简介:
将组件和路径映射起来。主要用于单页面组件应用,即:创建了多个单页面组件,可通过vue router来进行类似页面的跳转。因为单页面组件并不是一个真正的页面,需要在调用的时候才被加载(渲染)。
关键知识:
1、public/index.html, src/router/index.js, public/App.vue, public/main.js之间的关系
(1)public/index.html:程序运行的入口,因为程序还是要通过网页才能发布,web服务器才能进行解析。<div id='app'><div>就是内容的渲染区域;
(2)public/main.js:工程项目的入口,全局性配置在此完成;
(3)public/App.vue:所有单页面组件的主router(页面),所有vue都在里进行渲染。注意:经常用到的“渲染”概念,可以这样理解:就是用到了就将相应的HTML,CSS和方法生成到固定的区域。
(4)src/router/index.js:单文件组件和路径的映射配置。
2、Vue中的核心标签(Router可以嵌套,后面再说):
(1):要显示那个单页面组件的内容
(2):在何处将所点击的单页面组件内容进行显示
3、src/router/index.js中两种路由配置方式:
(1)完全加载
import HomeView from '../views/HomeView.vue'
这种方式是完全加载,即:不管有没有使用,都进行组件加载。考虑到效率原因,不建议使用,或仅仅打开默认页面时使用。
(2)即时加载(lazy load)
component: () => import(/* webpackChunkName: "about" */ '../views/AboutView.vue')
或
component: function (){ const c = import('@/views/ComptUseTest.vue') return c }
上面是es6语法,下面是传统js语法,都行。
即时加载比较推荐,甚至可以完全不用“完全加载”的方式,哪怕默认打开,也可以通过这种即时加载的方式实现。
注意:vue router 既然是做映射,而不是实际的物理地址,理论上可以映射到任意自定义的路径,即:想怎么配就怎么配。但鉴于开发考虑,还是要有一套有规律可循的配置策略,方便团队开发时全体人员的规范和统一。个人建议:
(1)用多个js配置不同的子系统的router;
(2)在index.js做合并,index.js只做合并,不做任何router的具体配置;
(3)路径建议为物理文件地址;
其中:第(2)点处理方式如下:
1)自建.js文件,仅仅编写路由配置的对象数组
2)在index.js处通过如下方式拼接
4、地址栏参数传递
通过地址栏传递参数,是编程过程中常用的参数传递方法之一。在vue中通过以下两个步骤实现:
(1)路由配置
path:'/a1/:id', name:'multi',
(2)router-link配置
<router-link :to="{ name: 'multi', params: { id: 123 }}">多个view</router-link>
(3)获取参数值
this.$route.params.id
5、多路由布局
可以理解为控件的渲染区域,和div类似,支持标准的CSS,故可以通过CSS的float或者absoult将布局在页面的任何位置,甚至重叠。
当布局多个时,要给其属性name进行赋值,不赋值name的未缺省。缺省是接受单个component渲染的。通过router/index.js我们可以有直观感受,举例如下:
这是一个多的路由配置,和下面单个的配置做下对比:
唯一的不同之处是:多配置用的是components,单路由配置是component;
关于Vue中路由配置和router-link的一点补充相关推荐
- vue中路由传参方式之二(this.$router.push进行编程式路由跳转传参)
this.$router.push进行编程式路由跳转传参 router中路由配置 组件home点击传参 组件homeDetails接受参数 router中路由配置 params第一种传参路由配置 {p ...
- Vue中路由管理器Vue Router使用介绍(三)
2019独角兽企业重金招聘Python工程师标准>>> 一.路由定义添加动态参数定义 1.路由定义项,使用:xx 方式 定义动态参数 {path:'/user/:id/:name', ...
- vue.js路由配置vue-router的基础学习 - 概念篇
文章目录 引言 · 相关问题小结: 一.动态路由匹配 (两种情况) A. 两种情况,代码对比: B. 两种情况,效果图对比: C. 提醒 · 仔细体会: D. 优先级的问题: 二.嵌套路由 引言 · ...
- vue中路由的实现原理?
vue中路由的实现原理? 1.首先需要了解一下Vue路由分为两种,一种是哈希路由,其最明显的特征是URL地址带'#'号的,其实对地址栏也就不怎么美观一点.其次是history路由也就是URL不带'#' ...
- Vue中proxyTable配置
Vue中proxyTable配置: proxyTable: {'/api': {//遇到该请求则进行代理target: 'http://localhost:8080/', // 设置你调用的接口域名和 ...
- JAVA——后端Vue动态路由配置类JavaBean封装
Vue文档 https://router.vuejs.org/zh/ 源代码 package cn.edu.zstu.shihua.xihu.dto;import cn.edu.zstu.shihua ...
- vue中路由按需加载的几种方式
使用vue-cli构建项目后,我们会在Router文件夹下面的index.js里面引入相关的路由组件,如: import Hello from '@/components/Hello' import ...
- Vue中 路由导航守卫(全局守卫、路由独享守卫、组件内守卫)
Vue 路由导航守卫(全局守卫.路由独享守卫.组件内守卫)详解: 路由守卫 官方解释 "导航"表示路由正在发生改变.正如其名,vue-router提供的导航守卫主要用来通过跳转或取 ...
- vue中路由实现的原理?
一.概念 通过改变 URL,在不重新请求页面的情况下,更新页面视图. 二.实现方式 更新视图但不重新请求页面,是前端路由原理的核心之一,目前在浏览器环境中这一功能的实现主要有2种方式: 1.Hash ...
最新文章
- U_boot 的 bootcmd 和bootargs参数详解
- To install 64-bit ODBC drivers
- mui请求php,PHP 怎样处理mui.ajax POST过来的数据?
- Java面向对象编程篇6——注解与反射
- 计算机控制系统课程设计中期报告,课程设计中期报告模板.doc
- [Axios] 基于Promise封装属于自己的Ajax库
- logback日志pattern_logback-自定义Pattern模板
- 对于spring的一些巩固一些难点的理解 2021-04-18
- 京东java面试流程_java京东社招面试经历
- 【记一下1】2022年6月29日 哥和弟 双重痛苦
- QT 调试时出现 Unable to create a debugging engine.
- API MISUSE: <CBCentralManager: 0x000000000> can only accept this command while in the powered on
- Google guava学习
- 淘宝天猫店铺微信公众平台建设指南
- Float的取值范围
- 统计学(二)之一般线性模型(一)
- Android入门教程 (一) Android简介和android studio安装
- 解决Java.lang.NoClassDefFoundError:com/lowagie/text/Elemen的问题
- 信息安全实验五 之 计算机病毒与黑客实验脚本【恶意网页病毒演示病毒制作木马捆绑】
- Linux的Shell编程基本语法
热门文章
- 电商平台-支付模块的设计与架构
- 专注于自媒体短视频领域四年后的运营问题汇总-第一集
- git回退到某个指定的版本,并提交此版本
- 模型视图简介、QListWidget、QTreeWidget、QTableWidget、QStringListModel、QFileSystemModel
- 说说 Spring 支持的 AspectJ 切点函数
- 1000道python题库系列_1000道Python题库系列分享三
- 简易爬取免费代理IP
- Springboot+netty+websocket 实现单聊群聊及用户鉴权
- HTML最新垂直简约的网站时光轴源码分享
- sigmoid函数和tanh函数和relu函数和leaky_relu函数