Vue-router 知识点

Vue-router  知识点

前置

什么是前端渲染 什么是后端渲染?

后端渲染

早期后端渲染阶段

  • jsp: java server page
    • html+css+java (java 的作用就是把数据库中的数据动态放在页面中)
  • 后端路由
    • 后端处理 URL 和页面之间的映射(对应)关系。早期阶段网页开发整个 html 页面 都是由服务器渲染的

前端渲染

前后端分离开发模式阶段

****由于 Ajax 的出现,有了前后端分离开发模式。  后端只负责提供数据,不负责任何阶段的内容。

**  前端渲染:浏览器中显示的网页中的大部分内容,都由前端写的 js 代码在浏览器中执行,最终渲染出来的网页。**

SPA 单页面富应用阶段

整个网页只有一个 html 页面


URL 详解

URL: scheme://host:port/path?query#fragment

**URL: 协议://主机:端口/路经?查询**

****


Vue Router 路由实现原理

一、概念

通过改变 URL,在不重新请求页面的情况下,更新页面视图。

二、实现方式

  更新视图但不重新请求页面,是前端路由原理的核心之一,目前在浏览器环境中这一功能的实现主要有2种方式:

     1.**Hash **— 利用 URL 中的 hash(“#”);

     2.利用 History interface** **在 HTML5 中新增的方法。

1. hash URL

本质是改变 window.location 的 hash 属性。来改变 hash。且页面不刷新。

  • 在第一个 # 后面出现的任何字符,都会被浏览器解读为位置标识符。这意味着,这些字符都不会被发送到服务器端

2. HTML5 的 history 模式

history 利用了 HTML5 History Interface 中新增的 pushState()和 replaceState()方法。(需要特定浏览器支持,所以存在兼容问题)

  • history.go(n) n:代表跳几页,1:往前一页;-1 回退一页。
  • history.pushState({},’’,’about’) 跳转到/about
  • history.back(): 回退一页
  • history.forward(): 向前一页
  • history.replaceState({},’’,’about’) 替换当前的路径为/about。且不能回退。返回。

3. 栈结构

pushState()与 back()就是使用到了 栈结构 的先进后出原理


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!