在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)
}
}