详解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 继承详解(二)
Jul 13 Javascript
javascript与asp.net(c#)互相调用方法
Dec 13 Javascript
Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例
Feb 12 Javascript
基于jQuery实现的图片切换焦点图整理
Dec 07 Javascript
jquery操作select方法汇总
Feb 05 Javascript
原生js结合html5制作小飞龙的简易跳球
Mar 30 Javascript
jQuery EasyUI中DataGird动态生成列的方法
Apr 05 Javascript
使用webpack构建应用的方法步骤
Mar 04 Javascript
jQuery中使用validate插件校验表单功能
May 24 jQuery
vue+elementUI 复杂表单的验证、数据提交方案问题
Jun 24 Javascript
浅谈目前可以使用ES10的5个新特性
Jun 25 Javascript
vue+elementui 对话框取消 表单验证重置示例
Oct 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中的正则表达式函数介绍
2012/02/27 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
php简单压缩css样式示例
2016/09/22 PHP
PHP通过文件保存和更新信息的方法分析
2019/09/12 PHP
php输出文字乱码的解决方法
2019/10/04 PHP
IE网页js语法错误2行字符1、FF中正常的解决方法
2013/09/09 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
JavaScript中this关键词的使用技巧、工作原理以及注意事项
2014/05/20 Javascript
jquery实现右键菜单插件
2015/03/29 Javascript
javascript实现百度地图鼠标滑动事件显示、隐藏
2015/04/02 Javascript
javascript实现别踩白块儿小游戏程序
2015/11/22 Javascript
原生Javascript插件开发实践
2017/01/09 Javascript
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
JS实现的文件拖拽上传功能示例
2018/05/21 Javascript
React.js绑定this的5种方法(小结)
2018/06/05 Javascript
微信小程序实现底部导航
2018/11/05 Javascript
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
2019/05/12 Javascript
js判断密码强度的方法
2020/03/18 Javascript
[45:40]Ti4 冒泡赛第二天NEWBEE vs NaVi 1
2014/07/15 DOTA
Python单链表的简单实现方法
2014/09/23 Python
PyCharm代码格式调整方法
2018/05/23 Python
使用python os模块复制文件到指定文件夹的方法
2019/08/22 Python
Python基本类型的连接组合和互相转换方式(13种)
2019/12/16 Python
selenium中get_cookies()和add_cookie()的用法详解
2020/01/06 Python
python定时截屏实现
2020/11/02 Python
退伍老兵事迹材料
2014/01/31 职场文书
廉洁校园实施方案
2014/05/25 职场文书
2015年教师新年寄语
2014/12/08 职场文书
地方课程教学计划
2015/01/19 职场文书
钢铁是怎样炼成的读书笔记
2015/06/29 职场文书
HTML5来实现本地文件读取和写入的实现方法
2021/05/25 HTML / CSS
MySQL 全文索引使用指南
2021/05/25 MySQL
详解Python中的进程和线程
2021/06/23 Python
详解Java实现数据结构之并查集
2021/06/23 Java/Android
CentOS安装Nginx并部署vue
2022/04/12 Servers
Python保存并浏览用户的历史记录
2022/04/29 Python