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 相关文章推荐
JS隐藏参数post传值实例
Apr 18 Javascript
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
Nov 20 Javascript
jquery插件lazyload.js延迟加载图片的使用方法
Feb 19 Javascript
Javascript实现获取窗口的大小和位置代码分享
Dec 04 Javascript
JS中dom0级事件和dom2级事件的区别介绍
May 05 Javascript
JS取数字小数点后两位或n位的简单方法
Oct 24 Javascript
jquery mobile移动端幻灯片滑动切换效果
Apr 15 Javascript
JavaScript中的高级函数
Jan 04 Javascript
layui获取选中行数据的实例讲解
Aug 19 Javascript
js实现简单五子棋游戏
May 28 Javascript
javascript如何使用函数random来实现课堂随机点名方法详解
Jul 28 Javascript
Vue路由权限控制解析
Nov 09 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
让PHP支持页面回退的两种方法
2008/01/10 PHP
ajax取消挂起请求的处理方法
2013/03/18 PHP
php.ini中的request_order推荐设置
2015/05/10 PHP
php简单的上传类分享
2016/05/15 PHP
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
JavaScript加强之自定义callback示例
2013/09/21 Javascript
JavaScript实现广告的关闭与显示效果实例
2015/07/02 Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
2015/08/25 Javascript
JS实现黑色大气的二级导航菜单效果
2015/09/18 Javascript
使用Javascript实现选择下拉菜单互移并排序
2016/02/23 Javascript
基于JS实现数字+字母+中文的混合排序方法
2016/06/06 Javascript
js Canvas绘制圆形时钟教程
2017/02/06 Javascript
NodeJS基础API搭建服务器详细过程记录
2017/04/01 NodeJs
利用node.js制作命令行工具方法教程(一)
2017/06/22 Javascript
vue发送ajax请求详解
2018/10/09 Javascript
用Cordova打包Vue项目的方法步骤
2019/02/02 Javascript
如何基于vue-cli3.0构建功能完善的移动端架子
2019/04/24 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
2020/03/31 Javascript
js实现搜索提示框效果
2020/09/05 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
[54:41]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VGJ.T VS paiN
2018/03/31 DOTA
Python求解平方根的方法
2015/03/11 Python
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
python利用有道翻译实现&quot;语言翻译器&quot;的功能实例
2017/11/14 Python
python实现简单坦克大战
2020/03/27 Python
django xadmin action兼容自定义model权限教程
2020/03/30 Python
老板电器官方购物商城:老板油烟机、燃气灶、消毒柜、电烤箱
2018/05/30 全球购物
医学院四年学习生活的自我评价
2013/11/06 职场文书
美术师范毕业生自荐信
2013/11/16 职场文书
大学生应聘求职信
2014/05/26 职场文书
舞蹈教育学专业自荐信
2014/06/15 职场文书
公司给客户的感谢信
2015/01/23 职场文书
2015年为民办实事工作总结
2015/05/26 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
2021/05/26 Servers
mysql拆分字符串作为查询条件的示例代码
2022/07/07 MySQL