今天用wx.getStorage时遇到了this作用域的问题,直接打印this,结果是undefined,必须得用var self = this,
但是奇怪的是wx.setStorage里直接用this是没问题的,
在wx.request里直接用this时也没有出现这种问题,
实在是搞不明白,下面是相关代码截图,求指点
全局data
wx.getStorage
如果在wx.getStorage里直接打印this,结果是undefined,如下图第二行
wx.setStorage是写在methods里的,这里直接用this并没有问题
wx.request,无论是在url里,还是在success里用this都没有问题
要么用闭包,要么在外面定义 var t = this
wx.getStorage({
key:
"dsfas"
,
success:(
function
(t) {
return
function
(){
console.log(
'sfas'
, t)
}
})(
this
)
})
一会是data={},一会是onLoad,一会又是methods={},这是同一个页面吗?或者是用了第三方框架?
wx.getStorage({
success: res=>{
console.log(this)
}
})