• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

VUE3onMounted方法更新data()的数据

武飞扬头像
五角大寨
帮助1

需求

VUE3项目中,需求是页面加载后就有几个指标数据,希望在页面自动刷新,页面的数据希望做ajax更新。

背景知识

  1. Vue 3 生命周期完整指南
    https://segmentfault.com/a/1190000039680245?utm_source=tag-newest

  2. onmounted vue3_Vue3.x 生命周期 和 Composition API 核心语法理解
    http://www.wityx.com/post/49199_1_1.html

简而言之,这个更新的方法应该写在VUE组件的 setup() 中的onMounted事件下。

如果页面初次加载获取的数据可以直接从data()方法中返回:

  data() {
    return {
      n: 90,
      value1: "1",
    }

问题

问题出在onMounted里,要周期性地更新data中数据,可以写定时器触发更新,可是这个时候访问不到组件的data对象,试了很多办法,求助了七七后,得到了解法:

现在问题就是在定时器里怎么能访问到这个组件的data()数据呢?

解答

解决方法:
在setup方法中获取到组件实例对data()数据进行访问。

  setup() {
    const ins = getCurrentInstance();
    onMounted(() => {
      // 这个不行,不能访问methods对象
      // context.methods.loadMainPageIndex();
      // 还可以对data中的值进行修改,也可以促发自动更新到页面
      console.log(ins.data.value1);

记录一下

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggbfkh
系列文章
更多 icon
同类精品
更多 icon
继续加载