vue-router

 Vue-router

   Vue Router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。包含的功能有: 嵌套的路由/视图表;模块化的、基于组件的路由配置;路由参数、查询、通配符;基于 Vue.js 过渡系统的视图过渡效果;细粒度的导航控制;带有自动激活的 CSS class 的链接;HTML5 历史模式或 hash 模式,在 IE9 中自动降级;自定义的滚动条行为。

 前端 来控制页面的跳转(但其实是个单页面),根据不同的 url 地址展示不同的内容和页面。

        优点:体验好,不需要每次从服务器获取全部,快速展现给用户;

        缺点:不利于SEO;使用浏览器的前进,后退键的时候会重新发送请求,没有合理的利用缓存;单页面无法记住之前滚动的位置,无法在前进和后退的时候记住滚动的位置。

vue-router-动态路由
  • 点击列表页 跳转到详情页时,跳转的链接需要携带参数,会导致页面path不同

  • 页面path不同却需要对应同一个组件时,需要用到动态路由这一概念,可以通过路由传参来实现

1 this.$route 获取当前路由对象  并通过params获取定义的参数id
2  path:"/team/:teamname", //定义动态路由
3  component:{
4   template:`<div>我是{{$route.params.teamname}}队粉丝</div>` }
5     //{{$route.params.teamname}}{{$route.params.postname}} ,两个参数需要拿两次
6  <router-link to="/team/勇士/">勇士</router-link>  //传入实参

Vue-Router前端路由的两种模式

1、一种是利用url的hash,就是通常所说的锚点#,javascript通过hashChange事件来监听url的变化,IE7以下需要轮询。

比如这个 URL:http://www.abc.com/#/hello,hash 的值为 #/hello。它的特点在于:hash 虽然出现在 URL 中,但不会被包括在 HTTP 请求中,对后端完全没有影响,因此改变 hash 不会重新加载页面。

           2、另一种是HTML5的History模式,它使url看起来像普通网站那样,以“/”分割,没有#,单页面并没有跳转。不过使用这种模式需要服务端支持,服务端在接收到所有请求后,都只想同一个html文件,不然会出现404。因此单页面应用只有一个html,整个网站的内容都在这一个html里,通过js来处理。

history 模式利用了 HTML5 History Interface 中新增的 pushState() 和 replaceState() 方法。(需要特定浏览器支持)
这两个方法应用于浏览器的历史记录栈,在当前已有的 back、forward、go 的基础之上,它们提供了对历史记录进行修改的功能。只是当它们执行修改时,虽然改变了当前的 URL,但浏览器不会立即向后端发送请求。

 hash 模式和 history 模式都属于浏览器自身的特性,Vue-Router 只是利用了这两个特性(通过调用浏览器提供的接口)来实现前端路由。

转载于:https://www.cnblogs.com/bgd150809324/p/11354052.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值