this指向问题
doumuxie opened this issue · comments
uniapp 微信小程序项目
我在 main.js 配置了 diyHook
import CustomHook from 'spa-custom-hooks';
const diyHooks = {
'TokenLoad':{
name:'TokenLoad',
watchKey: ['token'],
deep: true,
onUpdate(val){
//userinfo里的nickName非空则表示命中此钩子
return !!val;
}
}
}
Vue.use(CustomHook ,diyHooks,store)
然后在 App.vue中登录将token 置入 store内
wxLogin({
jsCode: res.code,
inviteCode: inviteCode || ''
}).then(res=>{
if(res.success){
that.$store.commit('setToken', res.data.token);
console.log("this.$store.getToken", that.$store.getters.getToken)
} else {
uni.showToast({
icon:"error",
title:'登录失败'
})
}
})
当我第一页面加载的时候,onTokenLoad 被调用 这里这时候正常的 this指向也没问题
但是当我切换tab页面后,第二页面加载的时候 onTokenLoad 中 的this调用当前vue下的方法或者值都是 underfine
请问有没有遇到过这种问题呢? 在第二页面中的onLoad 方法中的this都是正常的。
看下onTokenLoad页面的代码
onTokenLoad() {
this.dataList = []
this.getOrderList()
},
没什么特别的
vue2是吧,我复现一下试试
复现不了,你加我微信发个demo我看看,ZZZQQQOOO
晚点我搞一下demo试一下 好了加你哈
晚点我搞一下demo试一下 好了加你哈
ok
找到原因了吗
已解决,钩子定义的时候无需额外 使用 Load、Show 等,使用的时候自己组合就行。感谢大佬