搜索
博主信息
博文 40
粉丝 0
评论 1
访问量 31331
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
第26章 0120-vue路由原理与实现,学习心得,笔记(Vue路由)
努力工作--周工--Robin
原创
679人浏览过

今天所学心得、笔记

1、哈希(锚点)原生实现前端路由

  1. <body>
  2. <nav>
  3. <a href="#/list1">国际新闻</a>
  4. <a href="#/list2">科技新闻</a>
  5. </nav>
  6. <!-- 用于显示路由的内容 -->
  7. <div class="route-view"></div>
  8. <script>
  9. const list1 = `
  10. <ul>
  11. <li>马斯克:我们将在五年半内登陆火星</li>
  12. <li>马斯克:我们将在五年半内登陆火星</li>
  13. <li>马斯克:我们将在五年半内登陆火星</li>
  14. </ul>
  15. `;
  16. const list2 = `
  17. <ul>
  18. <li>抖音大战春晚红包:社交、支付、电商齐上阵</li>
  19. <li>抖音大战春晚红包:社交、支付、电商齐上阵</li>
  20. <li>抖音大战春晚红包:社交、支付、电商齐上阵</li>
  21. </ul>
  22. `;
  23. // 获取路由显示区
  24. const routerView = document.querySelector(".route-view");
  25. // hashchange: url中的锚点变化时会自动触发这个事件
  26. window.addEventListener("hashchange", show);
  27. // DOMContentLoaded: 只要dom树创建完成就会触发,load:要等js执行完成和图片加载完成才触发
  28. window.addEventListener("DOMContentLoaded", show);
  29. function show() {
  30. console.log(location.hash);
  31. switch (location.hash) {
  32. case "#/list1":
  33. routerView.innerHTML = list1;
  34. return;
  35. case "#/list2":
  36. routerView.innerHTML = list2;
  37. return;
  38. default:
  39. routerView.innerHTML = list1;
  40. }
  41. }
  42. </script>
  43. </body>

2、vue路由模块, 前端路由

  1. <body>
  2. <nav class="app">
  3. <router-link to="/list1">国际新闻</router-link>
  4. <router-link to="/list2">科技新闻</router-link>
  5. <!-- 路由的资源显示区 -->
  6. <router-view></router-view>
  7. </nav>
  8. <script>
  9. const list1 = {
  10. template: `
  11. <ul>
  12. <li>马斯克:我们将在五年半内登陆火星</li>
  13. <li>马斯克:我们将在五年半内登陆火星</li>
  14. <li>马斯克:我们将在五年半内登陆火星</li>
  15. </ul>
  16. `,};
  17. const list2 = {
  18. template: `
  19. <ul>
  20. <li>抖音大战春晚红包:社交、支付、电商齐上阵</li>
  21. <li>抖音大战春晚红包:社交、支付、电商齐上阵</li>
  22. <li>抖音大战春晚红包:社交、支付、电商齐上阵</li>
  23. </ul>
  24. `,};
  25. // 1. 创建路由对象
  26. const router = new VueRouter({
  27. //路由配置
  28. routes: [
  29. // 每一个路由都是一个对象,每一个对象对应着一个路由地址
  30. { path: "/list1", component: list1 },
  31. { path: "/list2", component: list2 },
  32. ]
  33. });
  34. //2. 注册路由
  35. new Vue({
  36. el: ".app",
  37. // router: router,
  38. router,
  39. })
  40. </script>
  41. </body>
批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学