1. 程式人生 > 其它 >uniapp 微信小程式 監聽全域性變數globalData

uniapp 微信小程式 監聽全域性變數globalData

在globalData中寫上需要定義全域性的變數,在其他頁面引用globalData的變數時: 監聽全域性變數是否改變,需要在APP.vue下的methods裡面寫一個監聽方法watch() watch(methos, istr) { //方法;值 let obj = this.globalData; let info = ''; //Object.defineProperty()方法,會直接在一個物件上定義一個新屬性,或者修改一個物件的現有屬性, 並返回這個物件 Object.defineProperty(obj, istr, { Object.defineProperty(obj, istr, { // value:"hello", // 屬性對應的值,預設為 undefined // writable:false, // 預設為 false,表示只讀,無法給該屬性賦值。在嚴格模式中,給只讀屬性賦值會報錯。寬鬆模式中,給只讀屬性賦值不會生效 enumerable: true, // 目標屬性是否可以被列舉。true | false(使用for...in或Object.keys()) configurable: true, // 目標屬性是否可以被刪除或是否可以再次修改特性 true | false set: function(value) { //當設定值的時候觸發的函式,設定的新值通過引數value拿到 this._consumerGoodsStatus = value methos(value) info = value; }, get: function(value) { return this._consumerGoodsStatus } }); } 在需要監聽的頁面onLoad中,呼叫watch方法,監聽某個全域性變數是否改變 onLoad() { getApp().watch(this.onloadAd, 'qimoNUm'); // 第一個引數為觸發監聽後所呼叫的方法,第二個為監聽的全域性變數名 }, methods:{ onloadAd(res) { console.log(res) } }