Blogger Information
Blog 41
fans 0
comment 0
visits 41123
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
VUE中使用哈希(锚点)原生|vue路由模块方法实现前端路由
幸福敲门的博客
Original
1113 people have browsed it

作业内容:

  1. 使用哈希(锚点)原生实现一个前端路由;
  2. 使用vue路由模块实现一个前端路由

一、使用哈希(锚点)原生实现一个前端路由

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>基于锚点的哈希路由模式</title>
  7. </head>
  8. <body>
  9. <nav>
  10. <a href="#/xw1">军事</a>
  11. <a href="#/xw2">体育</a>
  12. <a href="#/xw3">文化</a>
  13. </nav>
  14. <!-- 该区域专用于显示路由的内容 -->
  15. <div class="route-view"></div>
  16. <script>
  17. let xw1 = `
  18. <ul>
  19. <li><a href="">中国如何造隐轰?已曝光两个奇怪飞翼模型”</a></li>
  20. <li><a href="">歼20翼下外挂2PL15导弹试飞 将开启"野兽"模式(图)”</a></li>
  21. <li><a href="">美将军:除了中国海军明显增长外 我没看到重大变化”</a></li>
  22. </ul>
  23. `;
  24. let xw2 = `
  25. <ul>
  26. <li><a href="">库里26分勇士轻取马刺 吹杨38分卡皇27+26老鹰获连胜。</a></li>
  27. <li><a href="">连续5场最少丢109分!篮网死穴在这 帕金斯赛后炮轰欧文。</a></li>
  28. <li><a href="">塞克斯顿天神下凡加时连拿15 过去一周NBA11人阳性。</a></li>
  29. </ul>
  30. `;
  31. let xw3 = `
  32. <ul>
  33. <li><a href="">少林寺等中原名寺“闭门谢客”</a></li>
  34. <li><a href="">陕西发现两座唐代纪年壁画墓 一墓主为“弼马温”。</a></li>
  35. <li><a href="">山西修缮一宋代建筑时发现罕见地宫</a></li>
  36. </ul>
  37. `;
  38. // 获取路由的内容显示区元素
  39. const routeView = document.querySelector(".route-view");
  40. window.addEventListener("hashchange", show);
  41. // window.addEventListener("load", show);
  42. // DOMContentLoaded: 只要dom树创建完成就会触发,load:要等js执行完成和图片加载完成才触发
  43. window.addEventListener("DOMContentLoaded", show);
  44. function show() {
  45. console.log(location.hash);
  46. switch (location.hash) {
  47. case "#/xw1":
  48. routeView.innerHTML = xw1;
  49. return;
  50. case "#/xw2":
  51. routeView.innerHTML = xw2;
  52. return;
  53. case "#/xw3":
  54. routeView.innerHTML = xw3;
  55. return;
  56. default:
  57. routeView.innerHTML = xw1;
  58. }
  59. }
  60. </script>
  61. </body>
  62. </html>

图示:
 使用哈希(锚点)原生实现一个前端路由

二、使用vue路由模块实现一个前端路由

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>vue路由模块实现前端路由</title>
  7. <!-- 加载vue框架 -->
  8. <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  9. <!-- 路由模块 -->
  10. <script src="vue-router-dev/dist/vue-router.js"></script>
  11. </head>
  12. <body>
  13. <nav class="app">
  14. <!-- 1.vue的路由是基于哈希实现,是用a标签的锚点来实现 -->
  15. <router-link to="/xw1">军事</router-link>
  16. <router-link to="/xw2">体育</router-link>
  17. <router-link to="/xw3">文化</router-link>
  18. <!-- 2路由到的资源显示区域 -->
  19. <router-view></router-view>
  20. </nav>
  21. <script>
  22. const xw1 = {
  23. template: `
  24. <ul>
  25. <li><a href="">中国如何造隐轰?已曝光两个奇怪飞翼模型”</a></li>
  26. <li><a href="">歼20翼下外挂2PL15导弹试飞 将开启"野兽"模式(图)”</a></li>
  27. <li><a href="">美将军:除了中国海军明显增长外 我没看到重大变化”</a></li>
  28. </ul>
  29. `,
  30. };
  31. const xw2 = {
  32. template: `
  33. <ul>
  34. <li><a href="">库里26分勇士轻取马刺 吹杨38分卡皇27+26老鹰获连胜。</a></li>
  35. <li><a href="">连续5场最少丢109分!篮网死穴在这 帕金斯赛后炮轰欧文。</a></li>
  36. <li><a href="">塞克斯顿天神下凡加时连拿15 过去一周NBA11人阳性。</a></li>
  37. </ul>
  38. `,
  39. };
  40. const xw3 = {
  41. template: `
  42. <ul>
  43. <li><a href="">少林寺等中原名寺“闭门谢客”。</a></li>
  44. <li><a href="">陕西发现两座唐代纪年壁画墓 一墓主为“弼马温”。</a></li>
  45. <li><a href="">山西修缮一宋代建筑时发现罕见地宫。</a></li>
  46. </ul>
  47. `,
  48. };
  49. // 1. 创建路由对象
  50. const router = new VueRouter({
  51. // 路由配置项
  52. routes: [
  53. // 每一个路由都是一个对象,每一个对象对应着一个路由地址
  54. { path: "/xw1", component: xw1 },
  55. { path: "/xw2", component: xw2 },
  56. { path: "/xw3", component: xw3 },
  57. ],
  58. });
  59. new Vue({
  60. // 2. 注册路由
  61. // router: router,
  62. router,
  63. }).$mount(".app");
  64. </script>
  65. </body>
  66. </html>

图示:
vue路由模块实现前端路由
配置文件

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post