登录  /  注册
博主信息
博文 145
粉丝 7
评论 7
访问量 159430
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
Vue知识扩展:锚点的哈希路由和vue路由
李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰
原创
834人浏览过

一、锚点的哈希路由

1.相关知识点:

  • location.hash:获取url中的锚点地址
  • hashchange:url锚点改变事件
  • 通过监听url路径中描点值的变化来改变视图中显示的内容

2.代码演示

  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>基于锚点的哈希路由</title>
  8. </head>
  9. <body>
  10. <nav>
  11. <a href="#tupian1">图片1</a>
  12. <a href="#tupian2">图片2</a>
  13. </nav>
  14. <div class="route-view">
  15. </div>
  16. </body>
  17. <script>
  18. let view=document.querySelector(".route-view");
  19. window.addEventListener("hashchange",show);
  20. function show(){
  21. console.log(location.hash);
  22. switch(location.hash.trim()){
  23. case "#tupian1":
  24. view.innerHTML="<h1>图片1</h1>"
  25. break;
  26. case "#tupian2":
  27. view.innerHTML="<h1>图片2</h1>"
  28. break;
  29. default:
  30. view.innerHTML="图片"
  31. }
  32. }
  33. window.addEventListener("load",show);
  34. </script>
  35. </html>

二、Vue路由

1.相关知识点

  • vue路由的使用:文档需要加载vue-router.js和vue.js
    下载地址:https://unpkg.com/vue-router@3.4.9/dist/vue-router.js
  • Vue使用的相关组成
    • 视图组成:<router-link to="/path"></router-link>标签组成路由链接,其to属性路由路径;<rotuer-view></rotuer-view>路由内容显示区域
    • JS代码:通过new VueRouter({})路由对象实列,挂在到new Vue()实例的router上
    • 常见的VueRouter实列对象常有:
  1. const router=new VueRouter({
  2. routes:[
  3. {path:"/",redirect:"/part1"},//设置默认展示的路由页面
  4. {path:"/part1",component:part1},
  5. {path:"/part2",component:part2},
  6. ],
  7. linkActiveClass:"red",
  8. })

2.代码

  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Vue路由入门</title>
  8. <script src="vue.js" type="text/javascript" charset="utf-8"></script>
  9. <script src="vue-router.js" type="text/javascript" charset="utf-8"></script>
  10. <style>
  11. .red{
  12. color:red;
  13. }
  14. </style>
  15. </head>
  16. <body>
  17. <div class="app">
  18. <router-link to="/part1">国内新闻</router-link>
  19. <router-link to="/part2">国际新闻</router-link>
  20. <router-view></router-view>
  21. </div>
  22. </body>
  23. <script>
  24. let part1={
  25. template:`<ul><li>国内one</li><li>国内two</li><li>国内three</li></ul>`
  26. }
  27. let part2={
  28. template:`<ol><li>国际one</li><li>国际two</li><li>国际three</li></ol>`
  29. }
  30. const router=new VueRouter({
  31. routes:[
  32. {path:"/",redirect:"/part1"},//设置默认展示的路由页面
  33. {path:"/part1",component:part1},
  34. {path:"/part2",component:part2},
  35. ],
  36. linkActiveClass:"red",//激活的样式
  37. })
  38. new Vue({
  39. el:".app",
  40. router:router,
  41. })
  42. </script>
  43. </html>

3.展示结果

H5中history属性相关知识

1.history.pushState(null,"",link.href):把获得的href值push到url中
2.popstate:事件,监听url的改变
3.location.pathname:获取当前url中的值

批改老师:天蓬老师天蓬老师

批改状态:合格

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

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

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