钉钉小程序——子组件监测父组件的数据更新

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

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

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

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

let app = getApp() // 引入app.jsvar 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) },});

 

相关文章