在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里。