zoukankan      html  css  js  c++  java
  • 前端路由

    前端路由指的是单页面的应用可以使用浏览器的后退前进按钮操作,但是却不会向服务器端重新请求页面,表现为浏览器地址栏会变化,但页面不重新请求。

    有两种实现方式1.通过监听hash的变化,使用location.hash=xx来添加浏览器记录,location.replace,location.hash每被赋值一次就会产生一条浏览器记录,通过window.onhashchange监听路由变化,兼容ie8,android2.2支持,可以使用定时器模拟

                              2.通过html5 的history 的新api:pushState,replaceState,window.onpopstate 来实现。ie10以上支持,android4.2支持

    pushSate方式对应典型的对应 React的 BrowserRouter, 需要后端配合一下,如果刷新访问到一个服务器没有的路径需要重定向一下,如果是node后台,可以直接使用connect-history-fadback-api
    hash对应的是React的HashRouter 一般的hash 的url 是这样的 xxx/#/a           #/a

     有一个history.js 封装了 这两种路由,并提供统一的api,npm install history,还封装了一种 MemoryHistory用在手机上的reactnative没搞懂具体场景

            

  • 相关阅读:
    recurse_array_change_key_case()递规返回字符串键名全为小写或大写的数组
    php循环创建目录
    ajaxFileUpload增加附加参数
    dedecms5.7 联动类型无法显示
    一些比较隐秘的OJ的网址
    Emacs 配置
    qwq
    233
    [八省联考2018]林克卡特树lct
    [APIO2014]序列分割
  • 原文地址:https://www.cnblogs.com/chillaxyw/p/9289293.html
Copyright © 2011-2022 走看看