涉及知识点:location对象、history对象
路由是一组映射关系,本质上来说是location.href和UI的映射关系
修改location.href,而页面不会主动刷新,需要用js控制对应展示UI
通过hash和history的方式切换路由时都不会引起页面的刷新
hash通过a标签默认的行为来改变location.hash
通过hashchange事件来监听location.hash改变,可以指定相应呈现内容
此外,还可以跳转到对应id的元素处
hash2hash3green当前路由的内容为:
单页面应用,变换loctaion的hash,但是页面不会自动刷新,需要js指定要改变的UI
原理:调用 history对象的replaceState或者pushState方法来改变路由,手动改变对应UI样式
当前路由的内容为:
原因:history路由中的popstate不支持file协议
解决步骤参考:https://blog.csdn.net/am123999/article/details/120582419
如何使用:class Router
注册:register(navName, fn)
执行:emit(navName)
初始化:init() 最初路由对应的UI
hash2hash3green当前路由的内容为:
主页nav1nav2nav3
下一篇: 可爱的我小学作文500字(最新3篇)