Vue学习第七弹

这一章是对前端路由知识点的一个总结。

Vue-router

什么是路由?

  • 路由就是根据不同的地址跳到不同的页面
  • 应用场景:单页面应用

前端路由与传统路由的比较

  • 传统路由切换的时候,所有资源都需要重新请求一次
  • 前端路由,单页面公用一些资源,只需要请求需要请求的页面

使用前端路由

  • 安装:npm install vue-router –save
  • 在入口文件里引入,注册

vue-router的关键点

  • 规定要有要有一份Map,规定什么地址访问什么页面/组件
  • 在哪个位置、区域显示
  • 在页面上如何跳转到下一个页面

实例化路由类,插到项目的根的Vue实例里

  • vue-router实例化
  • 实例化router的时候,通过routes选项来进行设定,做一份映射表
  • 引入组件,在routes中有path和component两个属性,互相对应
  • 配置好入口文件后,需要规定在哪里,通过的放置地点来规定
  • Vue处理非html5路由采用的方式:采用哈希#,可以接受前后的切换。在默认状态下加了哈希#,也就是说当前路由没有使用html5的history功能,通常是高级浏览器的话,可以在实例化时,routes中添加mode的history属性,来支持前后退的功能
  • vue-router配置映射表
  • 在页面里的跳转:通过来跳转到相应的地址
  • vue-router实现页面内的跳转

路由的参数

  • 前端路由允许传参,在实例化时设置参数
  • CSS阶段类名
  • 设定参数后,如何在组件内部获取参数呢?
  • 路由接受了参数以后,会往每个组件的全局route对象里插入当前页面的参数params,所以可以通过this.$route.params来获取当前路由的参数
  • 需要注意的,由于在路由里设定了有参数的路由,所以这是一个特定的匹配,加入输入的路由后面没有参数的话,就不会到想去的那个路由页面
  • 由于this.$route.params已经被注入了,所以自动成为组件的一个属性,可以在模板里直接访问$route.params.color
  • 路由参数注入
  • 路由参数的灵活使用:带冒号的都是参数,不带的会进行字符串匹配
  • 路由参数匹配

路由嵌套

  • 就是自路由,同样配置映射表,只是在父级路由下配置children映射表
  • 子路由映射配置
  • 子路由组件渲染在哪里呢?它只会渲染到父级路由组件里面,不会插在根的的位置。因为它只能找到父组件的那一层,所以我们需要在父组件相应位置放一个,用以放置子路由组件。所在地
  • 子路由父级内的view位置

命名的路由视图、路由重定向

  • 如果只是一个简单的跳转,我们可以采用to+地址,不需要用v-bind来绑定,类似于href,基于当前路径跳到指定路径
  • to可以将自定义的参数直接传过去。
  • 通过to传参数
  • 具名路由:在设定路由的时候,设定name属性,在访问的时候,也通过name属性来访问。
  • 具名路由
  • 如何让将变成li的样式呢?可以通过tag=”li”来指定
  • 将link标签化为li标签格式
  • 通过v-bind动态的将路径作为组建的一个属性来进行绑定。

声明式导航和编程式导航

  • 在组件里通过导航叫做声明式导航,实在模板里进行声明来导航
  • 我们在main.js里也可以进行编程式的导航,采用的最基本的方法是通过router.push()方法,指定到特殊页面。
  • 编程式导航的示例

命名的路由和命名的视图

  • 命名路由
  • 命名视图
  • 命名视图1
  • 命名视图2

路由重定向

  • 当访问某个路径时,重定向到指定的路径
  • 路由重定向

使用过渡制作路由跳转动画

文章作者: Rong
文章链接: http://yoursite.com/2023/05/20/Vue学习第七弹/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 jsRongのBlog