微信小程序 - 调用微信 API 回调函数内拿不到 this 问题(解决方案)

微信小程序 - 调用微信 API 回调函数内拿不到 this 问题【解决方案】

tips: 本人是个小白选手,最近使用TP框架和微信小程序做前后端分离中(因为前端不是很懂),经常遇到的一个问题就是在微信小程序的内置API回调函数中,拿不到this 的问题。

然后百度了一下,发现最简单的问题解决方案就是在使用微信小程序内置API时,先使用一个变量来指代当前的this对象(指针,哈哈哈)

比如下面的例子:

// pages/userdetail/userdetail.js
import {createStoreBindings} from 'mobx-miniprogram-bindings'

// 获取 store 实例
import {store} from '../../store/store'

Page({

    /**
     * 页面的初始数据
     */
    data: {
        user:store.userinfo
        SexList:['男', '女', '无'],
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        // 在页面初始化时,完成数据的绑定
        this.storeBindings = createStoreBindings(this,{
            store, // 数据源
            fields : ['userinfo','user_token'] ,// 配置项---按需加载store.js中的配置项即可
            actions: ['updateUserInfo','updateUserToken'] // 
        })
        this.data.user = store.userinfo
    },
    // 性别选择Sheet
    SexSelections(){
        let that = this
        wx.showActionSheet({
            itemList: ['男', '女', '无'],
            success (res) {
                that.setData({
                    'user.gender':that.data.SexList[res.tapIndex]
                })
            },
            fail (res) {
              console.log(res.errMsg)
            }
        })

    },
})

你可能感兴趣的:(微信小程序,微信小程序,微信,小程序)