详解vue几种主动刷新的方法总结


Posted in Javascript onFebruary 19, 2019

当我们在做项目时,我们需要做当前页面的刷新来达到数据更新的目的,在此我们大概总结了几种常用的页面刷新的方法。

1.window.location.reload(),是原生JS提供的方法,this.$router.go(0):是vue路由里面的一种方法,这两种方法都可以达到页面刷新的目的,简单粗暴,但是用户体验不好,相当于按F5刷新页面,会有短暂的白屏,相当于页面的重新载入。

2.通过路由跳转的方法刷新,具体思路是点击按钮跳转一个空白页,然后再马上跳回来:

当前页面:

<template>
 <div>
 <el-button type="primary" class="btn" @click="btnaction">摁我刷新页面</el-button>
 </div>
</template>
<script>
 export default{
 data(){
  return{
  }
 },
 mounted(){
 },
 methods:{
  btnaction() {
//  location.reload()
//       this.$router.go(0)
        this.$router.replace({
         path:'/empty',
         name:'empty'
        })
  }
 }
 }
</script>

空白页面:

<template>
 <h1>
 空页面
 </h1>
</template>
 
<script>
 export default{
 data() {
  return{
  
  }
 },
 created(){
  this.$router.replace({
         path:'/',
         name:'father'
        })
 }
 }
</script>

当点击按钮时地址栏会有快速的地址切换过程。

3.控制<router-view></router-view>的显示与否,在全局组件注册一个方法,该方法控制router-view的显示与否,在子组件调用即可:

APP.vue

<template>
 <div id="app">
  <router-view v-if="isRouterAlive"></router-view>
 </div>
</template>
 
<script>
export default {
 name: 'App',
 provide() { // 注册一个方法
  return {
   reload: this.reload
  }
 },
 data() {
  return {
   isRouterAlive: true
  }
 },
 methods: {
  reload() {
   this.isRouterAlive = false
   this.$nextTick(function() {
    this.isRouterAlive = true
    console.log('reload')
   })
  }
 }
}
</script>

当前组件:

<template>
 <div>
 <el-button type="primary" class="btn" @click="btnaction">摁我刷新页面</el-button>
 </div>
</template>
 
<script>
 export default{
 inject: ['reload'], // 引入方法
 data(){
  return{
  }
 },
 components:{
 },
 mounted(){
 },
 methods:{
  btnaction() {
//  location.reload()
//       this.$router.go(0)
//       this.$router.replace({
//        path:'/empty',
//        name:'empty'
//       })
        this.reload() // 调用方法
  }
 }
 }
</script>

当点击按钮时所有页面重新渲染。

4.对列表操作后的表格刷新的操作方法:

当我们在操作数据表格时,会对表格进行增删改查,做完操作我们需要对列表进行刷新来达到重新渲染,但是当如果存在分页,我们在比如第3页进行删除操作,如果按照以往的刷新方法,刷新完后便进入了第一页,这肯定不是我们想要的,这时候我们常用的做法是重新调用数据渲染方法,通常我们会有获取数据接口,删除接口等等,页面加载时调用获取数据的方法,当我们执行删除操作时,再重新调用获取数据的方法即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 日期对象Date扩展方法
May 30 Javascript
jQuery获取文本节点之 text()/val()/html() 方法区别
Mar 01 Javascript
jquery及原生js获取select下拉框选中的值示例
Oct 25 Javascript
form.submit()不能提交表单的原因分析
Oct 23 Javascript
JavaScript中检查对象property的存在性方法介绍
Dec 30 Javascript
javascript正则表达式之search()用法实例
Jan 19 Javascript
JavaScript中的DSL元编程介绍
Mar 15 Javascript
javascript日期处理函数,性能优化批处理
Sep 06 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
Jan 06 Javascript
jquery将标签元素的高设为屏幕的百分比
Apr 19 jQuery
Bootstrap一款超好用的前端框架
Sep 25 Javascript
Vue cli构建及项目打包以及出现的问题解决
Aug 27 Javascript
jQuery事件多次绑定与解绑问题实例分析
Feb 19 #jQuery
Vue动态路由缓存不相互影响的解决办法
Feb 19 #Javascript
JS实现的全选、全不选及反选功能【案例】
Feb 19 #Javascript
JS/jQuery实现简单的开关灯效果【案例】
Feb 19 #jQuery
Vue结合后台导入导出Excel问题详解
Feb 19 #Javascript
Vue.js实现可排序的表格组件功能示例
Feb 19 #Javascript
Angular7创建项目、组件、服务以及服务的使用
Feb 19 #Javascript
You might like
1亿条数据如何分表100张到Mysql数据库中(PHP)
2015/07/29 PHP
PHP判断字符串长度的两种方法很实用
2015/09/22 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
PHP实现通过CURL上传文件功能示例
2018/05/30 PHP
php实现的表单验证类完整示例
2019/08/13 PHP
Javascript 网页黑白效果实现代码(兼容IE/FF等)
2010/04/23 Javascript
怎么选择Javascript框架(Javascript Framework)
2013/11/22 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
2013/12/24 Javascript
探寻Javascript执行效率问题
2014/11/12 Javascript
jQuery实现的图文高亮滚动切换特效实例
2015/08/10 Javascript
JavaScript数据结构之二叉树的遍历算法示例
2017/04/13 Javascript
vue组件中点击按钮后修改输入框的状态实例代码
2017/04/14 Javascript
详解JS浏览器事件循环机制
2019/03/27 Javascript
vue 解决移动端弹出键盘导致页面fixed布局错乱的问题
2019/11/06 Javascript
Python中title()方法的使用简介
2015/05/20 Python
Python写的一个定时重跑获取数据库数据
2016/12/28 Python
Python HTTP客户端自定义Cookie实现实例
2017/04/28 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
2019/01/05 Python
python生成带有表格的图片实例
2019/02/03 Python
python破解bilibili滑动验证码登录功能
2019/09/11 Python
PyQT5 emit 和 connect的用法详解
2019/12/13 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
python3中布局背景颜色代码分析
2020/12/01 Python
巧用CSS3的calc()宽度计算做响应模式布局的方法
2018/03/22 HTML / CSS
HTML5基于flash实现播放RTMP协议视频的示例代码
2020/12/04 HTML / CSS
全球领先的鞋类零售商:The Walking Company
2016/07/21 全球购物
Spanx塑身衣官网:美国知名内衣品牌
2017/01/11 全球购物
亚洲最大旅游体验平台:KKday
2017/10/21 全球购物
Dr. Martens马汀博士德国官网:马丁靴鼻祖
2019/12/26 全球购物
商场消防管理制度
2014/01/12 职场文书
合同协议书格式
2014/04/18 职场文书
保护野生动物倡议书
2014/05/16 职场文书
校长一岗双责责任书
2015/05/09 职场文书
小学语文的各类谚语(70首)
2019/08/15 职场文书
Golang使用Panic与Recover进行错误捕获
2022/03/22 Golang
python​格式化字符串
2022/04/20 Python