今天所学心得、笔记

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>

更多相关文章

  1. 在 Vue.js 中使用嵌套路由
  2. 记一次kubernetes coredns起不来排错
  3. Article 2017- Q1
  4. Android(安卓)WIFI 列表重复项问题
  5. Android路由跳转-ARouter框架
  6. Android自检工具
  7. APP开发实战61-Activity消息路由
  8. Android(安卓)解决离线路由GraphHopper 偏僻位置导航失败 抛出Po
  9. 仿写Arouter框架实现Activity的跳转

随机推荐

  1. 低延迟系统的Java实践
  2. java基础:集合框架之Map(共性方法)
  3. Java正则表达式
  4. javaweb从单机到分布式架构演变过程
  5. Netty学习心得 netty服务端和客户端的连
  6. 线程“main”中的异常java.lang.RuntimeE
  7. java中jcom操作excel
  8. JavaWeb-1-IOS或Android客户端上传图片到
  9. 使用超类中的构造函数
  10. execl中设置的格式无法实现