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操作Cookies的小例子
Oct 15 Javascript
jQuery垂直多级导航菜单代码分享
Aug 18 Javascript
jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
Nov 23 Javascript
微信支付 JS API支付接口详解
Jul 11 Javascript
深入理解javascript中的 “this”
Jan 17 Javascript
js实现图片左右滚动效果
Feb 27 Javascript
JavaScript自定义文本框光标
Mar 05 Javascript
js图片放大镜效果实现方法详解
Oct 28 Javascript
vue router下的html5 history在iis服务器上的设置方法
Oct 18 Javascript
Layui 数据表格批量删除和多条件搜索的实例
Sep 04 Javascript
微信小程序如何实现精确的日期时间选择器
Jan 21 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
Jul 07 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自动生成月历代码
2006/10/09 PHP
PHP4实际应用经验篇(9)
2006/10/09 PHP
弄了个检测传输的参数是否为数字的Function
2006/12/06 PHP
php初始化对象和析构函数的简单实例
2014/03/11 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
2015/04/20 PHP
Yii2实现自定义独立验证器的方法
2017/05/05 PHP
禁止直接访问php文件代码分享
2020/05/05 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
jQuery 方法大全方便学习参考
2010/02/25 Javascript
JavaScript初学者需要了解10个小技巧
2010/08/25 Javascript
理解Javascript_10_对象模型
2010/10/16 Javascript
extjs3 combobox取value和text案例详解
2013/02/06 Javascript
js判断是否为ie的方法小结
2014/01/13 Javascript
JavaScript字符串对象的concat方法实例(用于连接两个或多个字符串)
2014/10/16 Javascript
node.js调用C++开发的模块实例
2015/07/03 Javascript
javaScript实现可缩放的显示区效果代码
2015/10/26 Javascript
JS获取数组最大值、最小值及长度的方法
2015/11/24 Javascript
JS取模、取商及取整运算方法示例
2016/10/13 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
2017/06/23 Javascript
用node和express连接mysql实现登录注册的实现代码
2017/07/05 Javascript
薪资那么高的Web前端必看书单
2017/10/13 Javascript
angular2中使用第三方js库的实例
2018/02/26 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
jquery将信息遍历到界面上实例代码
2020/01/21 jQuery
在keras中获取某一层上的feature map实例
2020/01/24 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
美国迪克体育用品商店:DICK’S Sporting Goods
2018/07/24 全球购物
使用索引有什么好处
2016/07/27 面试题
文史专业毕业生自荐信
2013/11/17 职场文书
应届大学生求职信
2013/12/01 职场文书
保安队长职务说明书
2014/02/23 职场文书
党员2014两会学习心得体会
2014/03/17 职场文书
我的中国梦演讲稿初中篇
2014/08/19 职场文书
2017春节晚会开幕词
2016/03/03 职场文书
JS实现扫雷项目总结
2021/05/19 Javascript
变长双向rnn的正确使用姿势教学
2021/05/31 Python