动态
路由:
当我们很多个页面或者组件都要被很多次重复利用的时候,我们的
路由都指向同一个组件,这时候从不同组件进入一个”共用”的组件,并且还要传
参数,渲染不同的数据
这就要用到动态
路由跟
路由传参了!
首先我们来了解下router-link这个组件:
简单来说,它是个导航器,利用to属性导航到目标组件,并且在渲染的时候会自动生成一个a标签,当然官方也有说明,加个tag标签属性就可以渲染不同的标签,可以浏览器端查看到
并且当一个导航器被激活的时候,会自动加上一个css的激活样式,可以全局在
路由配置中设置linkActiveClass属性,属性名就是样式css名,一般写为active
在项目中,比如进入我的订单页面,订单页面有不同的几个菜单,如:待付款、待发货、待收货、待收货等;
我们想要实现从不同的菜单点击进入订单详情页,再返回订单列表的时候,还是定位在之前对应的菜单,这时候就需要用到替换路由参数。
我们可以在执行点击菜单的时候,就替换掉路由地址的参数,以便于之后返回该订单列表的时候,还是定位在对应的菜单项。
替换路由地址参数,代码执行如下:
this.$router.replace({ name: 'Orders', params: { tabId: index } })
什么是sessionStorage?
SessionStorage是HTML5引入的一种web存储API,它是独立于文档及其它数据之外的专用储存区域,这块区域的数据只有在同源的页面间才能被共享。
sessionStorage和localStorage的区别是什么?sessionStorage的数据只有在同源的页面间才能被共享,而localStorage的数据可以跨域共享。另外,SessionStorage的存储数据在浏览器关闭后会清除,而LocalStorage的存储数据会永久保存,除非被手动删除。
如何存储数据到sessionStorage?使用setItem()方法来存储数据到sessionStorage:sessionStorage.setItem("key", "value");
如何取出sessionStorage中的数据?
使用getItem()方法来取出sessionStorage中的数据: sessionStorage.getItem("key");
怎么让sessionStorage跨页面共享数据?
sessionStorage不支持跨页面共享数据,多个页面可以使用localStorage来共享数据。