详解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 相关文章推荐
jQuery 页面载入进度条实现代码
Feb 08 Javascript
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
Jan 06 Javascript
passwordStrength 基于jquery的密码强度检测代码使用介绍
Oct 08 Javascript
两个listbox实现选项的添加删除和搜索
Mar 01 Javascript
String.prototype实现的一些javascript函数介绍
Nov 22 Javascript
js propertychange和oninput事件
Sep 28 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
Dec 04 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
Dec 12 Javascript
jquery中关于bind()方法的使用技巧分享
Mar 30 jQuery
js+html5实现复制文字按钮
Jul 15 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
Oct 18 Javascript
vue 项目 iOS WKWebView 加载
Apr 17 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
php读取excel文件的简单实例
2013/08/26 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
PHP中Notice错误常见解决方法
2017/04/28 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
phpStudy 2016 使用教程详解(支持PHP7)
2017/10/18 PHP
PHP addAttribute()函数讲解
2019/02/03 PHP
实例化php类时传参的方法分析
2020/06/05 PHP
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
jQuery Validation Engine验证控件调用外部函数验证的方法
2017/01/18 Javascript
js原生方法被覆盖,从新赋值原生的方法
2018/01/02 Javascript
Element-ui之ElScrollBar组件滚动条的使用方法
2018/09/14 Javascript
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
2018/10/09 Javascript
说说Vuex的getters属性的具体用法
2019/04/15 Javascript
微信小程序实现的picker多级联动功能示例
2019/05/23 Javascript
关于vue组件事件属性穿透详解
2019/10/28 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
JavaScript 空间坐标的使用
2020/08/19 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
python 多进程通信模块的简单实现
2014/02/20 Python
Python中使用PDB库调试程序
2015/04/05 Python
python通过加号运算符操作列表的方法
2015/07/28 Python
python处理按钮消息的实例详解
2017/07/11 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
Python如何实现强制数据类型转换
2019/11/22 Python
pytorch中tensor.expand()和tensor.expand_as()函数详解
2019/12/27 Python
Parfume Klik丹麦:香水网上商店
2018/07/10 全球购物
优秀员工表扬信
2014/01/17 职场文书
镇党委书记群众路线整改措施思想汇报
2014/10/13 职场文书
计划生育责任书
2015/05/09 职场文书
党纪处分决定书
2015/06/24 职场文书
领导欢送会主持词
2015/07/06 职场文书
关于保护环境的建议书
2019/06/24 职场文书
《卧薪尝胆》读后感3篇
2019/12/26 职场文书
Python实现简单的猜单词
2021/06/15 Python