微信小程序Component组件调用回调函数this指向不是本页面
在微信小程序中如果在Component中写回调函数, 那么this的指向是undefined
Component({ /** * 组件的属性列表 */ properties: { }, /** * 组件的初始数据 */ data: { }, /** * 组件的方法列表 */ methods: { getData(callback) { if (callback) { callback(); } }, funcA () { console.log(this) //这里的this不是指向Component实例 }, }, lifetimes: { attached: function() { this.getData(this.funcA) }, }, });
解决办法: 在调用回调函数的时候使用箭头函数
Component({ /** * 组件的属性列表 */ properties: { }, /** * 组件的初始数据 */ data: { }, /** * 组件的方法列表 */ methods: { getData(callback) { if (callback) { callback(); } }, funcA () { console.log(this) //这里的this不是指向Component实例 }, }, lifetimes: { attached: function() { this.getData(()=> this.funcA()) }, }, });