vue 当前页面刷新 provide + inject

1. 在App.vue 文件里写入provide 方法

html 复制代码
<script setup></script>

<template>
  <a-config-provider :locale="localezhCN" :autoInsertSpaceInButton="false">
    <el-config-provider :locale="locale">
      <router-view v-wechat-title="$route.meta.title" v-if="isRouterAlive" />
    </el-config-provider>
  </a-config-provider>
</template>

<script>
import zhCn from "element-plus/es/locale/lang/zh-cn";
import zhCN from "ant-design-vue/es/locale/zh_CN";
export default {
  //局部组件
  components: {},
  //lu
  data() {
    return {
      isRouterAlive: true,
    };
  },
  setup() {
    //设置中文
    return {
      locale: zhCn,
      localezhCN: zhCN,
    };
  },
  //lu
  provide() {
    return {
      reload: this.reload,
    };
  },
  //lu
  methods: {
    async reload() {
      this.isRouterAlive = false;
      await this.$nextTick();
      this.isRouterAlive = true;
    },
  },
};
</script>
<style>
@import url("./assets/css/base.css");
</style>

2. 在需要刷新的页码使用inject引入

html 复制代码
<script>

export default {
 inject:['reload'],  //注入依赖
  mounted() {
    if (location.href.indexOf("#Case") == -1) {
        location.href = location.href + "#Case";
        this.reload();
    }
   }
}
</script>
相关推荐
爱折腾的军哥6 分钟前
首发 | OpenTaiji WFGY 防幻觉系统:让 AI Agent 不再"胡说八道"
javascript
颜酱12 分钟前
从零实现「拍照记单词」小应用(可复刻版)
前端·javascript·人工智能
大猫会长17 分钟前
AudioContext给音频提高音量
前端·javascript·音视频
kerli22 分钟前
基于 kmp/cmp 的跨平台图片加载方案 - 适配 Android View/Compose/ios
android·前端·ios
RONIN37 分钟前
vue组件、组件生命周期、组件分离模块化
前端·vue.js
小强198838 分钟前
HTML5语义化标签:从`div`到`article`与`section`的进化之路
前端
RONIN39 分钟前
vue开发环境与基础语法、计算属性、侦听属性
前端·vue.js
WayneYang1 小时前
JavaScript ES6+ (ES2015~ES2024) 全特性整理
前端·javascript
逆光如雪1 小时前
移动端border-left 和 width:1px,同样写1px为什么粗细不同?
前端·css
千寻girling1 小时前
被内推的面试 , 第一次
java·前端·python·面试·职场和发展·typescript·node.js