前端路由的介绍

前端路由

是用于实现页面间导航的一种技术,在不重新加载整个页面的情况下,通过改变地址栏的URL来更新内容。前端路由通常用于单页应用中,为用户提供更流畅的体验。

前端路由的工作原理

主要依赖于浏览器的History API(popstate, pushState, replaceState 三个事件)和url 的哈希部分(window.location.hash)来实现监听URL的变化, 根据url的变化来加载相应的视图和组件。

前端的路由主要分为两种

哈希路由

哈希路由的地址栏带有#, 以此可以判断一个路由是否属于哈希路由。哈希路由是通过hashchange 来监听地址栏的变化,来加载相应的视图和组件

history 路由

history 路由 是通过popstate来监听路由的变化。history 路由每刷新一次页面的时候,都会发送一个get请求,而hash路由刷新页面的时候,不会发送请求。

路由方式

静态路由

静态路由是指URL和页面内容之间的映射关系在编译时就已经确定,不会在运行时改变。每个URL对应一个固定的页面或组件。

静态路由通常用于那些页面内容固定不变的场景。

在静态路由中,每个URL都直接映射到一个特定的页面或组件,这些页面或组件在服务器上已经准备好,并且在用户访问这些URL时直接返回。

eg:博客网站,每个博客文章都有一个固定的URL

https://web-hls.blog.csdn.net/article/details/123697104

https://web-hls.blog.csdn.net/article/details/139579472

https://web-hls.blog.csdn.net/article/details/139047421

动态路由

动态路由是指URL和页面内容之间的映射关系在运行时动态确定。通常,动态路由会包含一个或多个参数,这些参数用于从数据库或API中获取数据,并动态生成页面内容。

eg: 一个电子商务网站,用户可以浏览不同类别的商品,URL可能看起来像这样。

https://example.com/products/shoes

https://example.com/products/clothes

https://example.com/products/electronics

相关推荐
Summer不秃4 分钟前
Flutter之使用mqtt进行连接和信息传输的使用案例
前端·flutter
旭日猎鹰8 分钟前
Flutter踩坑记录(二)-- GestureDetector+Expanded点击无效果
前端·javascript·flutter
Viktor_Ye15 分钟前
高效集成易快报与金蝶应付单的方案
java·前端·数据库
hummhumm17 分钟前
第 25 章 - Golang 项目结构
java·开发语言·前端·后端·python·elasticsearch·golang
乐闻x43 分钟前
Vue.js 性能优化指南:掌握 keep-alive 的使用技巧
前端·vue.js·性能优化
一条晒干的咸魚1 小时前
【Web前端】创建我的第一个 Web 表单
服务器·前端·javascript·json·对象·表单
Amd7941 小时前
Nuxt.js 应用中的 webpack:compiled 事件钩子
前端·webpack·开发·编译·nuxt.js·事件·钩子
生椰拿铁You1 小时前
09 —— Webpack搭建开发环境
前端·webpack·node.js
狸克先生1 小时前
如何用AI写小说(二):Gradio 超简单的网页前端交互
前端·人工智能·chatgpt·交互
baiduopenmap2 小时前
百度世界2024精选公开课:基于地图智能体的导航出行AI应用创新实践
前端·人工智能·百度地图