详解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.Autocomplete实现自动完成功能(详解)
Jul 13 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
Jan 09 Javascript
Node.js操作mysql数据库增删改查
Mar 30 Javascript
AngularJS优雅的自定义指令
Jul 01 Javascript
Javascript中判断一个值是否为undefined的方法详解
Sep 28 Javascript
原生JavaScript制作计算器
Oct 16 Javascript
微信小程序 radio单选框组件详解及实例代码
Jan 10 Javascript
详解React中的组件通信问题
Jul 31 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
Feb 01 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
Oct 14 Javascript
jQuery使用bind动态绑定事件无效的处理方法
Dec 11 jQuery
JS相册图片抖动放大展示效果的示例代码
Jan 29 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中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
php修改指定文件后缀的方法
2014/09/11 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
2016/04/21 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
2016/05/17 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
关于this和self的使用说明
2010/08/01 Javascript
jQuery中Ajax的load方法详解
2015/01/14 Javascript
Node.js抓取中文网页乱码问题和解决方法
2015/02/10 Javascript
js脚本分页代码分享(7种样式)
2015/08/19 Javascript
探究Javascript模板引擎mustache.js使用方法
2016/01/26 Javascript
JS随机洗牌算法之数组随机排序
2016/03/23 Javascript
漫谈JS引擎的运行机制 你应该知道什么
2016/06/15 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
2016/07/09 Javascript
JavaScript学习笔记整理_关于表达式和语句
2016/09/19 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
2017/01/11 Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
2017/01/24 Javascript
js 性能优化之算法和流程控制
2017/02/15 Javascript
详解ECMAScript6入门--Class对象
2017/04/27 Javascript
浅谈vuex actions和mutation的异曲同工
2018/12/13 Javascript
小程序中canvas的drawImage方法参数使用详解
2019/07/04 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
2019/07/24 Javascript
JavaScript实现图片轮播特效
2019/10/23 Javascript
es6中class类静态方法,静态属性,实例属性,实例方法的理解与应用分析
2020/02/15 Javascript
Python与shell的3种交互方式介绍
2015/04/11 Python
深入理解python中sort()与sorted()的区别
2018/08/29 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
在Pycharm中使用GitHub的方法步骤
2019/06/13 Python
tensorflow 保存模型和取出中间权重例子
2020/01/24 Python
django迁移文件migrations的实现
2020/03/31 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
Html5实现文件异步上传功能
2017/05/19 HTML / CSS
HMV日本官网:全球知名的音乐、DVD和电脑游戏零售巨头
2016/08/13 全球购物
We Fashion荷兰:一家国际时装公司
2018/04/18 全球购物
会计毕业生自荐书
2014/06/12 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL