在我的一个子页面中,刷新页面,会报错,我估计大概原因是因为这个子页面的值是通过上一个页面通过route.query传递过来的,然后再动态渲染上去的,刷新之后,query对象里的值自然就变为空了,所以页面会报值找不到。
我的解决思路大概是,在赋值前进行判断,如果query里的值变为空了,则直接把页面返回之前的页面,不让他再进行挂载了,如果query里的值不为空,那么再将query里的值进行赋值,然后将页面放出来让他挂载。
代码:
boxIsShow: false,
created() {
if (Object.keys(this.$route.query).length === 0) {
this.$router.push('/userInfo')
} else {
this.$data.boxIsShow = true
this.objs = this.$route.query
}
},