网页自动刷新

1.页面自动刷新

把如下代码加入<head>区域中,其中20指每隔20秒刷新一次页面.

<meta http-equiv="refresh" content="20">


2.页面自动跳转

把如下代码加入<head>区域中,其中20指隔20秒后跳转到https://www.jb51.net页面

<meta http-equiv="refresh" content="20;url=https://www.jb51.net">


3.页面自动刷新js版

window.location.reload()

4.刷新不在路由中的组件(手动刷新页面)

① 更改 router-view的 key值

<template>
  <div id="app">
    <keep-alive>
      <router-view :key="key"></router-view>
    </keep-alive>
  </div>
</template>

<script>
export default {
  computed: {
    key() {
      return this.$route.path + Math.random();
    }
  },
};
</script>

② provide / inject 组合

若需要更新不在路由中的组件,可通过声明reload方法,控制需要重新加载(更新)的组件,这边定义了isRouterAlive //true or false 来控制

也可通过声明reload方法,控制router-view的显示或隐藏,从而控制页面的再次加载

首先,要修改下app.vue

<template>
  <div id="app">
    <Header v-if="isRouterAlive"></Header>
    <BaseSwiper class="baseSwiper"></BaseSwiper>
    <div class="line"></div>
    <keep-alive>
      <router-view :key="key"></router-view>
    </keep-alive>
    <!-- <router-view v-if="!$route.meta.keepAlive"></router-view> -->
    <Footer></Footer>
  </div>
</template>

<script>
import Header from "@/components/header";
import Footer from "@/components/footer";
import BaseSwiper from "@/components/base-swiper.vue";
export default {
  components: {
    Header,
    Footer,
    BaseSwiper,
  },
  data() {
    return {
      isRouterAlive: true
    }
  },
  provide() {
    return {
      reload: this.reload
    }
  },
  methods: {
    reload() {
      this.isRouterAlive = false
      this.$nextTick(() => {
        this.isRouterAlive = true
      })
    }
  },
  computed: {
    key() {
      return this.$route.path + Math.random();
    }
  },

};
</script>

然后在需要当前页面刷新的页面中注入App.vue组件提供(provide)的 reload 依赖,然后直接用this.reload来调用就行

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值