序:本篇内容主要侧重对前端路由的理解,以vue的官方路由作为载体,进行一个简单介绍。

一、路由历史:

最早开始的时候,项目开发使用的是SSR,即服务端渲染。这个时候刷新页面,服务器返回的是全部的html。这样有一个弊端,就是返回的数据量比较大,造成用户等待时间长,每次都要刷新全部的页面,用户体验不太好。后来有了ajax技术,这个时候就可以实现局部刷新页面了,也为前端路由的出现奠定了基础。所谓局部刷新,也就是根据页面跳转,请求该页面的数据,后台返回数据后,前端进行展示。即使数据返回前,页面也可以呈现 ,只是没有数据,不过总比空白的一张页面要好。有了ajax之后,也开始使用SPA模式来开发应用。所谓SPA,即单页面应用,这个时候就进入了组件化开发模式。随着Node.js的出现,前端开始进入模块化开发时代。

二、组件化开发

组件化开发中,一般一个组件对应一个页面。一个应用中至少有一个以上的页面,那么如何在这些页面中进行跳转呢?不同的页面对应不同的链接,或者说URL,这样就可以实现通过链接到不同URL,来实现跳转不同的页面。URL即是对具体业务页面的映射。这个时候,把这一整套页面跳转的机制称为路由。即,给浏览器不同的URL,浏览器给出这个URL映射到的页面。

三、实现方式:

在当前单页面应用中,路由的具体实现有两种方式。一个是History API,一个是“#”。History API需要后端进行配合,哈希则不需要。简单来说路由就是用来跟后端服务器进行交互的一种方式,通过不同的路径,来请求不同的资源,请求不同的页面是路由的其中一种功能。

参考:

https://segmentfault.com/a/1190000007238999

vue:vue router学习小结的更多相关文章

  1. vue之router学习笔记

    1.动态路由匹配 我们经常需要将具有给定模式的路线映射到同一个组件.例如,我们可能有一个User应该为所有用户呈现但具有不同用户ID的组件.在vue-router我们可以在路径中使用动态段以实现: c ...

  2. Vue学习小结(二)

    接上一批,小结(二). 三.导航内容(含左侧导航及顶部面包屑导航) 其实导航条主要根据element-ui的教程进行编写,官网:http://element-ui.cn/#/zh-CN/compone ...

  3. 四 Vue学习 router学习

    index.js: 按需加载组件: const login = r => require.ensure([], () => r(require('@/page/login')), 'log ...

  4. Vue学习笔记-Vue.js-2.X 学习(七)===>脚手架Vue-CLI(路由Router)

    脚手架Vue-CLI(路由Router) 一 按装(通过新创建脚手架按装),如果在原来的脚手架上按装直接进图型化界面vue ui的插件按装. 二 使用(上面按装下面步骤自动会生成) 第一步:导入路由对 ...

  5. vue的路由设置小结

    vue的路由设置小结 // 异步路由的编写示例.其中针对component字段进行懒加载及分块处理,提升首屏加载速度的同时,也可以手动控制让某些页面合并到一个单独的js文件中,而不是每个页面都是一个j ...

  6. Vue 5小时学习小教程

    Vue Vue Vue 起步 指令 v-bind v-if v-for v-on v-model v-bind和v-on缩写 搭建Vue开发环境 vue项目结构 Vue开始 数据绑定, 绑定属性 循环 ...

  7. vue - blog开发学习1

    1.安装vue-cli vue intall -g vue-cli 2.创建项目 vue init webpack nblog 3.按提示要求配置项目 ? Project name nblog ? P ...

  8. Vue学习笔记-Vue.js-2.X 学习(四)===>脚手架Vue-CLI(基本工作和创建)

    (五) 脚手架Vue-CLI 一 Vue-CLI前提(nodejs和webpack) 二  Vue学习-nodejs按装配置,Node.js 就是运行在服务端的 JavaScript. 1. 去nod ...

  9. vue 和 react 学习 异同点

    vue 和 react 学习 异同点 本文不做两个框架比较,只对比了两个框架的语法对比,不代表任何观点,盗版必究,本人唯一qq:421217189 欢迎大家一起来学习探讨,壮我大前端(本文markdo ...

随机推荐

  1. CF446A DZY Loves Sequences 简单dp

    DZY has a sequence a, consisting of n integers. We'll call a sequence ai, ai + 1, ..., aj (1 ≤ i ≤ j ...

  2. .net core webapi框架

    折腾了一段时间..还是用ef比较熟,哈哈 参考地址:https://www.cnblogs.com/danvic712/p/10331976.html --jwt 参考地址:https://www.c ...

  3. myeclipse 上安装 Maven

    myeclipse 上安装 Maven3   环境准备: JDK 1.6 Maven 3.0.4 myeclipse 8.6.1 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成.Mav ...

  4. spring boot test MockBean

    使用spring boot , MockBean @RunWith(SpringRunner.class) @SpringBootTest(classes = Application.class) p ...

  5. PartTime__学习辅助软件_20161025

    1.http://www.680.com/ruanjian/412629.html 1.1.http://www.gysjxjy.com/ 密码:我的名字的拼音(全小写) 使用的身份证信息:http: ...

  6. Abp 添加阿里云短信发送

    ABP中有短信发送接口ISmsSender public interface ISmsSender { Task<string> SendAsync(string number, stri ...

  7. man时括号里的数字是啥意思

    https://www.cnblogs.com/istarstar/p/7851233.html 具体含义可以man man来查看(自己查自己). MANUAL SECTIONS The standa ...

  8. linux 编程笔记 2

    1.使用create建立文件: #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include ...

  9. 车牌号校验js

    var regExp = /(^[\u4E00-\u9FA5]{1}[A-Z0-9]{6}$)|(^[A-Z]{2}[A-Z0-9]{2}[A-Z0-9\u4E00-\u9FA5]{1}[A-Z0-9 ...

  10. Vim相关问题

    1.vim格式修改 进入配置文件: $ sudo vim /etc/vim/vimrc 在文件末尾添加: #默认查找忽略大小写 set ignorecase #如果有一个大写字母,则切换到大小姐敏感查 ...