Vue 路由及异步组件

88 阅读1分钟

多页应用

缺点:

  1. 维护麻烦
  2. 服务器压力大
  3. 没有前后端分离,协作流程不清晰

优点:

  1. SEO效果好,因为是完全渲染好的页面
  2. 用户首屏耗时比较小

现阶段路由

单页应用 spa

不仅在页面的交互中是不刷新页面,跳转也不是刷新页面

前端路由的特性

  1. 根据不同的url渲染不同的页面
  2. 不刷新路由

hash

 1. 怎么监听 hash 路由的改变
 2. hash具体是怎么改变路由
 3. 通过hash监听hash的改变
 4. 通过哪些方式来改变hash
 

特性: 1. url中的hash值是浏览器端的一种状态,向服务器发送请求的时候,hash部分是不会携带的 2. hash的改变,并不会造成页面的刷新 3. hash值更改,会在浏览器得访问历史中增加历史记录,我们可以通过浏览器得回退、前进按钮来控制hash得切换 4. hash值得更改,通过hashchange事件

例子: www.lubai.com/#/parent www.lubai.com/#/child

<a href="#"></a>

location.hash = '#hash'

image.png

history

hash有 # 不好看
H5的出现
window.history API
 back()
 forward()
 go()
 pushState
 replaceState
 
 1. 可以使用Popstate来监听url变化
 2. pushState 和 replaceState 并不会触发PopState
 3. 哪些情况可以触发PopState
     * 浏览器回退前进按钮
     * back forward go
     

参数

   1. state是一个对象,与只当网址相关的状态
   2  title 新页面的标题
   3. url 新得网址,必须与当前页面处在同一个域