zoukankan      html  css  js  c++  java
  • 钉钉小程序------子组件监测父组件的数据更新

    把要监听的数据放在app.js中,在子组件中使用了定时器去监听app.js里面的数据改变,网上有很多其他人的方法,很不错,但是我不大看得懂,自己做的这个用了定时器,可能性能就不是那么好了。。。

    1.在app.js中存放数据,并且获取父组件改变过的值。

    App({
      globaldata: {
        lastRelVal: '', // 需要监听的数据
      },
      // 实时更新的数据
      setChangeData(data){
        this.globaldata.lastRelVal = data
      }
    });
    

    2.在父组件中改变该数据。  

    let app = getApp() // 引入app.js
    var lastRelVal = ''
    Page({
      data: {
    
      },
      // 页面加载完成
      onReady() {
        this.setData()
      },
      // 改变app.js里面的值
      setData() {
        for (let i = 0; i <= 10; i++) {
          lastRelVal = i
          app.setChangeData(lastRelVal)
        }
      },
    });

    3.在子组件中每隔1s取app.js的值

    let app = getApp()
    Component({
      data: {
    
      },
      // 页面加载完成
      onReady() {
        this.setData()
      },
      // 接收app.js里面的值
      didMount() {
        // 每隔1s取app.js里面的lastRelVal值
        this.interval = setInterval(() => {
          console.log("隔1s取的新值",app.globaldata.lastRelVal)
        },1000)
      },
    });
  • 相关阅读:
    N^N hdu1060
    二叉树的所有操作
    溢出问题
    POJ1562深搜问题
    已知前序,中序,求后序
    交换a,b
    深度和广度优先搜索
    最长回文子串
    scanf
    WCF Ria Service 理解
  • 原文地址:https://www.cnblogs.com/wgl0126/p/11479322.html
Copyright © 2011-2022 走看看