vue实现局部刷新的实现示例


Posted in Javascript onApril 16, 2019

利用Vue里面的provide+inject组合(走过路过,不要错过)

使用2.2.0 新增的provide / inject控制<router-view>的显示隐藏

在App.vue中使用provide

//App.vue
<template>
  <div>
    <router-view v-if="isRouterAlive"></router-view>
  </div>
</template>

<script>
  export default {
    name: 'App',
    data () {
      return {
        isRouterAlive: true
      }
    },
    provide(){ //提供
      return {
        reload: this.reload
      }
    },
    methods: {
      reload(){
        this.isRouterAlive = false
        this.$nextTick( function () {
          this.isRouterAlive = true
        })
      }
    }
  }
</script>

在使用局部刷新的组件中使用inject

<script>
  export default {
    name: 'myComponent',
    data () {
      return {}
    },
    inject: ['reload'], //注入
    methods: {
      myCallBack(){
        // ...
        this.reload() //局部刷新
      }
    }
  }
</script>

其他的刷新页面方法

  • window.location.reload() //有白屏

默认参数是 false,它会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变;

如果文档已改变,reload() 会再次下载该文档;

如果文档未改变,则该方法将从缓存中装载文档。这与用户单击浏览器的刷新按钮的效果是完全一样的。

参数为 true,无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档。这与用户在单击浏览器的刷新按钮时按住 Shift 健的效果是完全一样

  • this.$router.go(0) //有白屏

先跳转到一个空白页面再跳转回来 //虽不会一闪,但是能看见路由快速变化

//需要页面刷新的地方,跳转到一个空白页
this.$router.push('/emptyPage')

//空白页
beforeRouteEnter (to, from, next) {
   next(vm => {
    vm.$router.replace(from.path)
   })
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery powerFloat万能浮动层下拉层插件使用介绍
Dec 27 Javascript
用javascript判断IE版本号简单实用且向后兼容
Sep 11 Javascript
通过js获取div的background-image属性
Oct 15 Javascript
JS实现霓虹灯文字效果的方法
Aug 06 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
Nov 18 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
Apr 19 Javascript
快速掌握jQuery插件开发
Jan 19 Javascript
微信小程序开发教程之增加mixin扩展
Aug 09 Javascript
JavaScript实现数值自动增加动画
Dec 28 Javascript
jquery.onoff实现简单的开关按钮功能(推荐)
May 24 jQuery
微信小程序开发(一):服务器获取数据列表渲染操作示例
Jun 01 Javascript
利用js实现简易红绿灯
Oct 15 Javascript
如何自动化部署项目?折腾服务器之旅~
Apr 16 #Javascript
每周一练 之 数据结构与算法(Stack)
Apr 16 #Javascript
在vue中获取微信支付code及code被占用问题的解决方法
Apr 16 #Javascript
JavaScript实现选项卡效果的分析及步骤
Apr 16 #Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
Apr 16 #Javascript
详解滑动穿透(锁body)终极探索
Apr 16 #Javascript
一些手写JavaScript常用的函数汇总
Apr 16 #Javascript
You might like
重置版游戏视频
2020/04/09 魔兽争霸
PHP实现用户认证及管理完全源码
2007/03/11 PHP
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
2007/10/23 Javascript
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
分享十五个最佳jQuery 幻灯插件和教程
2010/03/27 Javascript
在UpdatePanel内jquery easyui效果失效的解决方法
2010/04/11 Javascript
javascript实现全局匹配并替换的方法
2015/04/27 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
2016/06/14 Javascript
js 实现数值的千分位及保存小数方法(推荐)
2016/08/01 Javascript
nodeJs内存泄漏问题详解
2016/09/05 NodeJs
js本地图片预览实现代码
2016/10/09 Javascript
浅谈jquery上下滑动的注意事项
2016/10/13 Javascript
js中常用的Math方法总结
2017/01/12 Javascript
vue.js中过滤器的使用教程
2017/06/08 Javascript
在小程序中使用canvas的方法示例
2018/09/17 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
使用python Django做网页
2013/11/04 Python
使用Python编写类UNIX系统的命令行工具的教程
2015/04/15 Python
Python列表删除的三种方法代码分享
2017/10/31 Python
Python爬虫实现全国失信被执行人名单查询功能示例
2018/05/03 Python
详解python3中tkinter知识点
2018/06/21 Python
python实现最大优先队列
2019/08/29 Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
2020/01/21 Python
如何使用python切换hosts文件
2020/04/29 Python
python实现画图工具
2020/08/27 Python
python爬虫多次请求超时的几种重试方法(6种)
2020/12/01 Python
Python中对象的比较操作==和is区别详析
2021/02/12 Python
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
AURALog面试题软件测试方面
2013/10/22 面试题
公务员培训自我鉴定
2013/09/19 职场文书
中介公司区域经理岗位职责范本
2014/03/02 职场文书
民族精神月活动总结
2014/08/28 职场文书
大学社团招新的通讯稿
2014/09/10 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
辛亥革命观后感
2015/06/02 职场文书
SpringBoot快速入门详解
2021/07/21 Java/Android