我们在项目中经常遇到,切换了路由回到原页面,数据没刷新,导致页面展示的数据不是最新数据的问题,可以用以下代码解决:
场景1:切换路由自动刷新页面
只要在vue的script中写入观察模块,watch到$route的目标页,再执行刷新数据操作
watch: { '$route' (to) { // to为路由跳转的实体,targe_page为当前页的name if(to.name == 'targe_page') { // 获取分类 this.getCategoryList(); // 加载数据 this.loadTableData(); } }, }
场景2:离开或切换浏览器后回到页面自动刷新
在vue的mounted中添加document的监听事件,可见时执行刷新数据操作
mounted () { // 获取分类 this.getCategoryList(); // 加载数据 this.loadTableData(); // 显示隐藏时刷新 var self = this; document.addEventListener('visibilitychange', function () { // 页面变为不可见时触发 if (document.visibilityState == 'hidden') { // document.title = '离开'; } // 页面变为可见时触发 if (document.visibilityState == 'visible') { // 获取分类 self.getCategoryList(); // 加载数据 self.loadTableData(); } }); }
本文为胖虎原创文章,转载无需和我联系,但请注明来自胖虎博客panghucat.cn