vue路由,本地存储,刷新页面(学习心得)

简介:

        在使用vue单独做一个网站时,会使用到路由和本地存储,这次主要介绍我在学习路由和本地存储使用到的一种方法。

路由:

        vue里面的路由类似于html内的a标签,使用前需要导入路由的包;这个一般使用了路由后会自动导入的,可以去main.js内查看是否有router的包导入。

        那么使用路由可以有三种方法:

        第一种:使用name+params的方法,这里的name是index.js内路由的name

this.$router.push({name:'home',params:{refresh: true}})

例如我的路由的path和name是’/‘和’home‘:

二种:使用path+query

​
this.$router.push({path:'/',query:{(参数自己设定,这里举个例子)refresh: true}})

​

        需要注意,如果使用了path后不能加params,不然params没有效果。

还有一种比较常用,但是能看到传输的值

this.$router.push('/?username='+this.ruleForm.username),

这三种办法都可以使用路由传值,
 

        但是,使用路由传值不方便把值传到app.vue里面,

此时我们就需要本地存储来解决这个问题:

localStorage.setItem('username',this.ruleForm.username)

使用这种方式将需要的值存储到本地,

这个是永久存储,方便以后记住账号密码的功能的实现,

这里的username是key,

this.ruleForm.username指我这个页面要获得到并且需要传输的值,

但是存储到本地后新的页面后页面不会自动获得里面的值并且传到app.vue对应的参数上,

这时,我就想到做一个生命周期函数,借用生命周期函数赋值,然后再调用,

this.username=localStorage.getItem('username')

        但是又出现新的问题,生命周期函数在路由跳转的时候不会自动刷新,这是就想着在跳转时刷新页面:

window.location.reload()

把这段代码放在路由后面,这样就可以在路由到新的页面后主动刷新整个页面。

假如我在一个页面上需要跳转到’home‘页面时,app.vue内部需要修改得到一些值时:

        这里我在一个方法内部定义了路由,在路由跳转后存值到本地,然后再刷新页面,为了我在app.vue时使用

        在app.vue中使用created方法,在上面存储值到本地时,刷新一整个页面来激活created方法,在方法内进行对本地的值获取并且调用。

这里介绍本地永久存储的使用:

要使用存储到的值,需要先定义:

使用:localStorage.setItem(key,value)

key的名字自定义,value是对应存储key的值,

例如:

localStorage.setItem('username','123')

获取值:

localStorage.getItem(key)

这里的key对应上面的key,用来获得’123‘

例如:

localStorage.getItem(’username‘)

当网页不需要这个值的时候需要删除这个值,用来释放一定的内存:

localStorage.removeItem(key)

例如:

localStorage.removeItem(’username‘)

这样就可以删除本地存储的username,释放username所占用到的内存。



总结:

        在我从一个页面跳转到新的页面并且需要修改或者给app.vue内的参数赋值时,可以先用localStorage.setItem(key,value)存值到本地,然后在路由跳转后使用 window.location.reload()刷新一整个页面,最后在app.vue的created内获得本地存储的值并且把他赋给一个变量或者修改这个变量。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值