实现简易前端路由
1路由
路由是一个比较广义和抽象的概念,路由的本质就是对应关系。
在开发中,路由分为:前端路由和后端路由。
1.1后端路由:
概念:根据不同的用户URL请求,返回不同的内容。
本质:URL请求地址与服务器资源之间的对应关系。
1.2 前端路由
概念:根据不同的用户事件,显示不同的页面内容
本质:用户事件与事件处理函数之间的对应关系
1.3 实现简易前端路由(前端路由的本质)
基于URL中的hash实现(点击菜单的时候改变URL中的hash,根据hash的变化控制组件的切换)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | <! DOCTYPE html> < html lang="en"> < head > < meta charset="UTF-8"> < meta name="viewport" content="width=device-width, initial-scale=1.0"> < title >Document</ title > < script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></ script > </ head > < body > < div id="app"> <!-- 切换组件的超链接 --> < a href="#/zhuye">主页</ a > < a href="#/keji">科技</ a > < a href="#/money">财经</ a > <!--根据:is属性指定的组件名称,把对应的组件渲染到component标签所在的位置 --> <!--可以吧component标签当做是组件的占位符--> < component :is="conName"></ component > </ div > < script > //定义需要切换的四个组件 //主页组件 const zhuye = { template: '< h1 >主页信息</ h1 >' } //科技组件 const keji = { template: '< h1 >科技信息</ h1 >' } //财经组件 const money = { template: '< h1 >财经信息</ h1 >' } const vm = new Vue({ el: '#app', data: { conName: 'zhuye' }, //注册组件 components: { zhuye, keji, money }, }) //监听window事件的onhashChange事件,根据获取到的最新的hash值,切换要显示的组件的名称 window.onhashchange = function () { //通过location.hash获取到最新的hash值 console.log(location.hash); switch (location.hash.slice(1)) { case '/zhuye': vm.conName = "zhuye" break; case '/keji': vm.conName = "keji" break; case '/money': vm.conName = "money" break; } } </ script > </ body > </ html > |
原文链接:https://blog.csdn.net/weixin_38341556/article/details/112601773
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」