详解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 相关文章推荐
JS实现下拉框的动态添加(附效果)
Apr 03 Javascript
没有document.getElementByName方法
Aug 19 Javascript
jquery中$(#form :input)与$(#form input)的区别
Aug 18 Javascript
javascript实时显示北京时间的方法
Mar 12 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
Aug 21 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
May 28 Javascript
详细分析Javascript中创建对象的四种方式
Aug 17 Javascript
微信小程序--onShareAppMessage分享参数用处(页面分享)
Apr 18 Javascript
微信小程序调用摄像头隐藏式拍照功能
Aug 22 Javascript
jQuery实现的点击图片居中放大缩小功能示例
Jan 16 jQuery
详解微信小程序文件下载--视频和图片
Apr 24 Javascript
vue-cli中实现响应式布局的方法
Mar 02 Vue.js
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
PHP冒泡排序算法代码详细解读
2011/07/17 PHP
php中使用base HTTP验证的方法
2015/04/20 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
php上传excel表格并获取数据
2017/04/27 PHP
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
js 字符串转换成数字的三种方法
2013/03/23 Javascript
jquery遍历checkbox介绍
2014/02/21 Javascript
Javascript学习笔记之 对象篇(三) : hasOwnProperty
2014/06/24 Javascript
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
js实现网页随机切换背景图片的方法
2014/11/01 Javascript
PHP使用方法重载实现动态创建属性的get和set方法
2014/11/17 Javascript
jquery取消事件冒泡的三种方法(推荐)
2016/05/28 Javascript
聊一聊JS中this的指向问题
2016/06/17 Javascript
BootStrap 附加导航组件
2016/07/22 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
2017/03/08 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
AngularJS 支付倒计时功能实现思路
2017/06/05 Javascript
JavaScript对象_动力节点Java学院整理
2017/06/23 Javascript
JavaScript hasOwnProperty() 函数实例详解
2017/08/04 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
2018/11/14 Javascript
详解基于vue-cli3快速发布一个fullpage组件
2019/03/08 Javascript
简单了解JavaScript作用域
2020/07/31 Javascript
[02:45]2016年中国刀塔全程回顾,完美“圣”典即将上演
2016/12/15 DOTA
Python中几种导入模块的方式总结
2017/04/27 Python
浅析python协程相关概念
2018/01/20 Python
python 借助numpy保存数据为csv格式的实现方法
2018/07/04 Python
python 数据提取及拆分的实现代码
2019/08/26 Python
Win10下用Anaconda安装TensorFlow(图文教程)
2020/06/18 Python
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
迷你分体式空调:SoGoodToBuy
2018/08/07 全球购物
大众服装店创业计划书范文
2014/01/01 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
JS数组方法some、every和find的使用详情
2021/10/05 Javascript
vue3引入highlight.js进行代码高亮的方法实例
2022/04/08 Vue.js