路由跳转使用params传参,刷新页面导致数据丢失的问题
有时候页面与页面之间需要传参,一般会在路由跳转时携带参数。vue-router提供了两种模式第一种是使用 params第二种是使用 query// 使用params的路由router.push({ name: 'user', params: { userId: '123' }})// 使用query的路由带查询参数,变成 /user?userId='123'router.push({ name:
·
有时候页面与页面之间需要传参,一般会在路由跳转时携带参数。
vue-router提供了两种模式
第一种是使用 params
第二种是使用 query
// 使用params的路由
router.push({ name: 'user', params: { userId: '123' }})
// 使用query的路由 带查询参数,变成 /user?userId='123'
router.push({ name: 'user', query: { userId: '123' }})
两则的区别:
使用params的路由, 可以在页面使用this.$route.params.xxx 获取参数,相当于post方法,携带的参数不会明文出现在url上。但是刷新路由后,该参数会消失。 不适于需要刷新页面,又可以取数的。
使用query的路由,可以在页面使用this.$route.query.xxx 获取参数,相当于get方法。携带的参数能在url上直接看到。即使刷新页面,参数也会一直保留。
除了可以使用 query传参解决页面刷新导致数据丢失的问题,
也可以考虑使用 localStorage,sessionStorage来保存参数,也可以使用vuex的store来保存。
更多推荐
已为社区贡献7条内容
所有评论(0)