需求:从组件页面和普通页面都可以改变app.js中的公用参数,但是组件页面的参数需要跟公用参数同步,所以写了个监听器,监听别的页面改变这个公用参数后回调改变组件的参数。但是现在回调后,拿不到this,没办法改了
app.js
watch: function (method) {
var obj = this.data;
Object.defineProperty(obj, "isPlay", {
configurable: true,
enumerable: true,
set: function (value) {
this._name = value;
console.log(audioActionBar);
method(value);
},
get: function () {
return this._name
}
})
}
组件页面
methods: {
// 改变监听
watchBack: function (name) {
console.log(this);
},
},
/**
* 生命周期函数--监听页面加载
*/
ready: function(options) {
let that = this;
api.watch(that.watchBack)
},
执行回来 console 是undefined,在组件里写个点击直接执行就是能获取到的
图挂了