window.reload()/router.go(0):
采用window.reload(),或者router.go(0)刷新时,整个浏览器重新加载,闪烁。严重影响体验
provide / inject:
允许一个祖先组件向其所有子孙注入一个依赖,关系建立时间里始终生效

App.vue

<template><div id="app"><router-view v-if="isRouterAlive" /></div>
</template><script>
export default {name: 'App',provide() { // 父组件中通过provide来提供变量,在子组件中通过inject来注入变量。return {reload: this.reload}},data() {return {isRouterAlive: true // 控制视图是否显示的变量}},methods: {reload() {this.isRouterAlive = false // 先关闭,this.$nextTick(function() {this.isRouterAlive = true // 再打开})}}
}
</script>

声明reload,控制router-view的隐藏显示

index.vue
页面用inject注入reload方法

name: 'Deal',components: { pagination, crudOperation, rrOperation, udOperation, billWayForm, sfbillWayForm, approval, approvalInfo },mixins: [presenter(defaultCrud), header(), form(defaultForm), crud()],//重点看这里inject: ['reload'],//重点看这里data() {}
reBack(finBillNo) {this.$confirm('此操作将执行撤回, 是否继续?', '提示', {confirmButtonText: '确定',cancelButtonText: '取消'}).then(() => {toReback(finBillNo).then(res => {// console.log(res)this.$message({type: 'success',message: '撤回成功!'})////像这样直接reload引用即可//this.reload()})}).catch(() => {this.$message({type: 'info',message: '已取消撤回'})})},

vue刷新当前页面--provide / inject 用法相关推荐

  1. vue3 刷新当前页面(provide,inject)

    vue3 实现刷新当前页面 用这种方法可以实现,但效果很差,白屏时间很长,自己试一下就知道了. location.reload() 那么我们怎么做呢,别着急,马上看重点: 首先去我们的App.vue里 ...

  2. 最实用的vue刷新当前页面,provide / inject 组合 方式实现vue页面刷新

    这是一种最实用的vue刷新当前页面,其他方式一般会出现一个瞬间的空白页面,体验不好,相当于按ctrl+F5 强制刷新那种 方式:provide / inject 组合 方式实现vue页面刷新 1.修改 ...

  3. 浅析provide/inject用法、响应式、全局传递

    前言 Vue的父子间传值 : props 爷孙或者更深嵌套的组件间传值: provide/inject 更复杂的结构:vuex provide/inject 提供/注入 provide 一个对象或返回 ...

  4. Vue组件通讯方式 provide/inject 介绍以及使用场景

    文章目录 vue的通讯方式 provide / inject的缺点 使用办法 代码案例展示一(provide字符串) 代码案例展示二(provide返回一个方法,并且方法返回字符串) vue的通讯方式 ...

  5. vue 刷新当前页面、组件;provide、inject

    provide.inject 最外层组件(祖先组件)向其所有子组件注入一个依赖,不论组件层次有多深,并在起上下游关系成立的时间里始终生效:通过在App.vue,声明reload方法,控制router- ...

  6. Vue刷新当前页面几种方式

    问题: 最近些日子项目中突然碰到了一个需求,再完成编辑操作之后需要进行页面刷新,通过实验有如下几种姿势可以解决需求中的问题,下面进行简单总结如下. 姿势一:this.$router.go(0) 这个姿 ...

  7. vue刷新当前页面,不留白

    用provide / inject 组合 原理:允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在起上下游关系成立的时间里始终生效 在App.vue,声明reload方法,控制ro ...

  8. Vue刷新组件,页面刷新

    通过:provide / inject 方式实现! Home.vue <keep-alive :include="tagsList" v-if="showView& ...

  9. vue 刷新当前页面

    1.首先在app.vue页面加入以下代码: 2.在需要刷新的页面 .

最新文章

  1. 如何修改系统时间显示格式
  2. 云计算时代,你真的懂 Docker 吗?
  3. 病毒导致分区双击无法打开的解决方法
  4. linux 0x00,linux 学习笔记0x00
  5. linux 文件目录操作,Linux系统下文件与目录操作
  6. Java是如何实现跨平台的?原理是什么?
  7. HDU - 4289 Control(最小割-最大流)
  8. C# 数据库连接测试以及备份
  9. 79页区块链报告:从理论到实践(附下载)
  10. 【今日CV 计算机视觉论文速览 91期】Mon, 1 Apr 2019
  11. 线上四台机器同一时间全部 OOM,到底发生了什么?
  12. 11.15PMP试题每日一题
  13. 【Linux】VMware虚拟机中如何配置静态IP
  14. 福州计算机专业的大学的校徽,如此好看的大学LOGO,有你的母校吗?
  15. 2021年认证杯-数学建模
  16. 如何成为一名Go开发人员:总共分六步
  17. 魔兽争霸如何修改快捷键
  18. 领导的本质就是:管理自己,影响别人
  19. 机票订票b系统的服务器,飞机订票系统分析与总结
  20. 亲身实践,效果显著,让“轻断食”帮你打扫一下身体吧~

热门文章

  1. 2011年10月买到Incredible S G11山寨,大家警惕!
  2. 华为HCIE RS笔记-01以太网基础
  3. 从四个维度谈谈如何做好团队管理
  4. 或许你就是那个背锅侠【多图】
  5. datatable 属性介绍
  6. 基于多项式螺旋曲线的轨迹优化
  7. jquery表格插件jqgrid
  8. Jzoj5426 摘Galo
  9. HDU 4417 Super Mario(线段树||树状数组+离线操作 之线段树篇)
  10. Java小游戏学习笔记