问题:在做一个问卷调查的后台管理项目,有一个需求,创建题目后可以选择完成并创建下一题,此时需要将整个页面的数据重置,来清空input数据。
方案1:使用$router.go(0);和location.reload(),刷新当前页面,来初始化数据,可以实现,但刷新时会闪一下屏,体验并不好。
方案2:查看了Vue重置数据的方法:Object.assign(this.$data, this.$options.data();发现重置后报错,报错原因是我在data中获取了router的传值:this.$route.query.id,报错内容为$route undefind,再次查找原因,找到一篇文章:https://blog.csdn.net/mocoe/article/details/89682022
于是改成Object.assign(this.$data, this.$options.data.call(this));问题解决
网友评论