最近做项目,使用路由传参时遇到了个坑,就是传参时的地址参数的类型问题导致的
我在跳转管理分类页面的时候,通过query传参,传了一个system为Boolean类型,还有一个classify为String类型,当第一次从该页面跳转到管理分类页面时,接收到的system类型还是为Boolean,也能够正确的请求方法this.getSystemClassificationManagementIndexInfo()
如下图:
但是当我刷新管理分类页面时,就会报错,因为刷新后的this.$route.query.system !== true,就是因为刷新后地址的参数变为了String类型,
如图:
所以两个值不相等,不能正确的请求this.getSystemClassificationManagementIndexInfo(),而是请求了this.getClassificationManagementIndexInfo()
此时就需要把query上的参数转换一下类型JSON.parse(this.$route.query.system)转为布尔类型,就可以了