详解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 22 Javascript
jQuery Study Notes学习笔记 (二)
Aug 04 Javascript
JavaScript使用cookie记录临时访客信息的方法
Apr 07 Javascript
jquery预加载图片的方法
May 27 Javascript
javascript html5摇一摇功能的实现
Apr 19 Javascript
Javascript数组循环遍历之forEach详解
Nov 07 Javascript
Bootstrap整体框架之JavaScript插件架构
Dec 15 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
Feb 05 Javascript
jquery animate动画持续运动的实例
Nov 29 jQuery
vue 标签属性数据绑定和拼接的实现方法
May 17 Javascript
JS实现图片上传多次上传同一张不生效的处理方法
Aug 06 Javascript
angular6根据environments配置文件更改开发所需要的环境的方法
Mar 06 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数组声明、遍历、数组全局变量使用小结
2013/06/05 PHP
PHP利用str_replace防注入的方法
2013/11/10 PHP
php实现四舍五入的方法小结
2015/03/03 PHP
PHP生成(支持多模板)二维码海报代码
2018/04/30 PHP
laravel配置Redis多个库的实现方法
2019/04/10 PHP
javascript读取Xml文件做一个二级联动菜单示例
2014/03/17 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
Vue系列:通过vue-router如何传递参数示例
2017/01/16 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
nodejs检测因特网是否断开的解决方案
2019/04/17 NodeJs
深入了解JavaScript代码覆盖
2019/06/13 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
2020/03/17 Javascript
[01:07:20]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第二场 2月2日
2021/03/11 DOTA
Python不规范的日期字符串处理类
2014/06/10 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
python 拼接文件路径的方法
2018/10/23 Python
对python生成业务报表的实例详解
2019/02/03 Python
详解python中@的用法
2019/03/27 Python
Python爬取智联招聘数据分析师岗位相关信息的方法
2019/08/13 Python
Python django搭建layui提交表单,表格,图标的实例
2019/11/18 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
Python用5行代码实现批量抠图的示例代码
2020/04/14 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
2020/04/20 Python
Python __slots__的使用方法
2020/11/15 Python
W Concept美国:精选全球独立设计师
2017/02/22 全球购物
南京迈特望C/C++面试题
2012/07/09 面试题
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
村班子对照检查材料
2014/08/18 职场文书
不服从上级领导安排的检讨书
2014/09/14 职场文书
2014年政风行风评议工作总结
2014/10/21 职场文书
表扬信范文
2019/04/22 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers
详解Python+OpenCV绘制灰度直方图
2022/03/22 Python
CentOS MySql8 远程连接实战
2022/04/19 MySQL