原生小程序跨页面动态改变状态,动态改变app.js全局定义的数据globalData,并实现实时监听的方法!!!!!!

时间:2024-04-07 16:50:36

原生小程序跨页面动态改变状态,动态改变app.js全局定义的数据globalData,并实现实时监听的方法!!!!!!


利用Object中的Object.defineProperty()实现,实时监听数据改变,状态管理,跨页面等!!!!
接下来可以先看看这个方法的讲解:

原生小程序跨页面动态改变状态,动态改变app.js全局定义的数据globalData,并实现实时监听的方法!!!!!!
其实简单的说,app.js就是一条桥梁,实现了两个页面之间的通信,vuex中实现响应式的核心,其实也是利用Object中的Object.defineProperty实现的;

看不懂没关系,我们会用就行了!!

先讲一下我们大概的需求:
1.再A页面想控制B页面的状态,或者改变相应的数据
2.想定义全局数据,并实现实时监听改变,就像vuex状态管理一样

现在上代码:
1.app.js
先再app.js定义一个全局数据对象globalData,再对象里定义好相应的属性与属性值
原生小程序跨页面动态改变状态,动态改变app.js全局定义的数据globalData,并实现实时监听的方法!!!!!!
然后再在app.js定义监听的方法
原生小程序跨页面动态改变状态,动态改变app.js全局定义的数据globalData,并实现实时监听的方法!!!!!!
代码在这;
watch: function (method, isstr) {
var obj = this.globalData;
Object.defineProperty(obj, isstr, {
configurable: true,
enumerable: true,
set: function (value) {
this._consumerGoodsStatus = value; //_consumerGoodsStatus是Object.defineProperty自定义的属性
method(value);
},
get: function (value) {
return this._consumerGoodsStatus
}
})
},
2.相应的页面(index.js)
调用app.js定义的方法,如何调用app.js的方法呢那么就需要用到getApp()
原生小程序跨页面动态改变状态,动态改变app.js全局定义的数据globalData,并实现实时监听的方法!!!!!!
原生小程序跨页面动态改变状态,动态改变app.js全局定义的数据globalData,并实现实时监听的方法!!!!!!
原生小程序跨页面动态改变状态,动态改变app.js全局定义的数据globalData,并实现实时监听的方法!!!!!!

这是我的第一条博客,写的有什么不对的,请多各位担待!!或者有什么不懂得地方可以随时问我!!!

如果对你有所帮助就给小编我点个赞加个关注吧!!!