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

简介: 本文讨论了在微信小程序中调用API回调函数时无法获取到`this`上下文的问题,并提供了解决方案。在回调函数中,使用一个变量(如`that`)来保存当前的`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)
            }
        })

    },
})
相关文章
|
26天前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
389 7
|
26天前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
453 1
|
29天前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
87 3
|
4天前
|
小程序 机器人 开发者
QQ 小程序已发布,但无法被搜索的解决方案
我的 QQ 小程序在 2024 年 8 月就已经审核通过,上架后却一直无法被搜索到。打开后,再在 QQ 上下拉查看 “最近使用”,发现他出现一下又马上消失。
12 2
|
30天前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
163 1
|
26天前
|
JavaScript 小程序 开发者
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
260 0
|
30天前
|
JSON 小程序 前端开发
微信小程序-人脸核身解决方案
微信小程序-人脸核身解决方案
146 0
|
30天前
|
小程序
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
392 0
|
1月前
|
小程序 前端开发 测试技术
微信小程序的开发完整流程是什么?
微信小程序的开发完整流程是什么?
103 7
ly~
|
2月前
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
76 6