小程序采坑记(五) 动态改变数据
项目当时有个需求是,在详情页面点击关注,要把关注的内容传给首页显示出来,开始的时候,我以为是把数据传给后台,显示关注成功就可以了,这样只能实现页面刷新时,可以在首页显示关注的内容,但是需求不是这样的,是要在点击了关注后,返回首页时就显示出来,没有刷新,也没有重新请求数据。
首先是在小程序的公共逻辑页面app.js里面加上这两个方法。
然后是在你需要传数据的页面调用setChangeData()方法。
首页是引入APP
然后用app.setChangedData(data),把需要改变的数据传到app.js里面。
然后在需要显示改变数据的页面接受这个data就可以了。
首先是引入app.js
然后调用app.addListener(callback),注意这里是一个方法。
好好整理了下这个逻辑
-
addListener: function (callback) {
this.callback = callback;
},
这个方法实时监听,有没有一个callback方法放到app.js里面,如果某个页面调用了这个监听器,并传入了参数,即callback方法,就会在app.js里面放入这个callback方法。
如果某个页面调用了
setChangedData: function (data) {
this.data = data;
if (this.callback != null) {
this.callback(data);
}
}
这个方法时,就会把这个数据data传到app.js里面,因为这个方法,调用了app.js的callback方法,所以就会把数据传到addListen里面。