vue 全局定时更新 轮询

首先需要在最外层的父组件定义一个刷新的时间 初始值为nulll, 在定义一个新时间用于监听状态的变化。

data () {
    return {
      dataTime: 0,
      inverterMonTimer: null, // 设置刷新时间 2 分钟一次
    }
  },

然后再钩子函数中执行定义封装的方法

mounted(){
 this.getInverterMonTimer()
},
记得清空定时器
 beforeDestroy(){
    if (this.inverterMonTimer) {
      clearInterval(this.inverterMonTimer);
      this.inverterMonTimer = null;
    }
  },

methods:{
    getInverterMonTimer () {
      // 判断定时刷新是否存在,存在先清除
      if (this.inverterMonTimer) {
        clearInterval(this.inverterMonTimer);
        this.inverterMonTimer = null;
      }
      // 实现轮询 两分钟执行一下
      this.inverterMonTimer = window.setInterval(() => {
        this.dataTime = new Date().getTime();
      }, 120000);
    },
   }

然后再 template 中找到我们的父组件 component 把时间穿进去,在子页面接收并监听这个时间,去触发接口更新后,每间隔时间查询更新接口。

  <component
    :is="item.is"
    ref="component"
    :echartsId="item.id"
    :style="{background: item.color, overflow: 'hidden'}"
    :dataw="item.w"
    :datah="item.h"
    :dataInfo.sync="item.dataInfo"
    :dataTypeList.sync="item.dataTypeList"
    :dataTime="dataTime" // 这个是传的的时间
  ></component>

在需要的子组件中接收props:{}

 props:{
    dataTime:{
      type: Number,
      default:() => {
        return 0
      }
    }
  },
watch: {
    dataTime: {
      immediate: true,
      handler (val) {
        this.getCoalTrackData() //
      }
    }
  },
mounted () { this.getCoalTrackData() // 页面加载后接口调取}

相关推荐

  1. vue 全局定时更新

    2023-12-21 15:14:03       60 阅读
  2. vue中数据状态

    2023-12-21 15:14:03       55 阅读
  3. datax定时时间小于同步处理时间怎么办?

    2023-12-21 15:14:03       35 阅读
  4. Promise和事件

    2023-12-21 15:14:03       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-21 15:14:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-21 15:14:03       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-21 15:14:03       87 阅读
  4. Python语言-面向对象

    2023-12-21 15:14:03       96 阅读

热门阅读

  1. 改变图片亮度的 Python 实现算法

    2023-12-21 15:14:03       66 阅读
  2. 【AI-1】卷积神经网络

    2023-12-21 15:14:03       39 阅读
  3. 创建局域网git裸仓库

    2023-12-21 15:14:03       50 阅读
  4. Shell脚本应用(二)

    2023-12-21 15:14:03       55 阅读
  5. Docker Swarm集群的深度总结

    2023-12-21 15:14:03       54 阅读
  6. c# 使用OpenCV

    2023-12-21 15:14:03       58 阅读
  7. Vue3使用 xx UI解决布局高度自适应

    2023-12-21 15:14:03       70 阅读
  8. MySQL8_rpm方式安装过程中常见问题处理

    2023-12-21 15:14:03       58 阅读
  9. 拾玖[19],拟合线,函数FitLineContourXld

    2023-12-21 15:14:03       60 阅读