关于Vue路由传参的一些问题

在Vue中涉及到页面跳转的时候一般会使用this.$router.push()方法进行页面跳转,而跳转时需要携带参数,下面我来总结下常用的传参方法。

params传参

例:this.$router.push(name: 'detail', params: {name: 'Jason', obj: obj })

优点:美观,传递信息隐蔽。

缺点:只能在跳转方式为name的时候使用,若在跳转方式为path的时候使用则会被忽略,拿到的将是一个空对象,且页面不能刷新,刷新后params的值将会消失。

query传参(推荐)

例:this.$router.push(path: '/home/detail', query: {name: 'Jason', obj: obj })

例:this.$router.push(name: 'detail', query: {name: 'Jason', obj: obj })

优点:跳转方式为path和name的时候都能使用,且刷新页面的时候query中的值不消失。

缺点:丑,所带的参数会拼接在地址栏的url里。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容