zoukankan      html  css  js  c++  java
  • 【微信】微信小程序 调用this.setData报错this.setData is not a function;

    在调用方法过程中 报错如下:

    代码如下:

    Page({
    
      /**
       * 页面的初始数据
       */
      data: {
        userLocalInfo:'用户地址'
      },
      /**
       * 返回swapping页面
       */
      backSwapping: function(){
        wx.navigateBack({
          delta:1
        })
      },
      /**
       * 获取地理位置
       */
      getLocalInfo: function(){
        wx.getLocation({
          type: "wgs84" ,
          altitude:true,
          success: function(obj){
            this.setData({
              userLocalInfo:"经度:"+obj.latitude+"
    纬度:"
            })
          }
    
        })
      }
    })

    报错原因:

    因为在success回调方法中,success函数实际是一个闭包 , 无法直接通过this来setData

    所以 要解决这个问题

    解决方法:

    提前在success回调函数外就获取到this,然后在回调函数中使用

    Page({
    
      /**
       * 页面的初始数据
       */
      data: {
        userLocalInfo:'用户地址'
      },
      /**
       * 返回swapping页面
       */
      backSwapping: function(){
        wx.navigateBack({
          delta:1
        })
      },
      /**
       * 获取地理位置
       */
      getLocalInfo: function(){
    
        var that = this
        wx.getLocation({
          type: "wgs84" ,
          altitude:true,
          success: function(obj){
            that.setData({
              userLocalInfo:"经度:"+obj.latitude+"
    纬度:"
            })
          }
    
        })
      }
    })
  • 相关阅读:
    opencv安装
    安装电脑
    勿忘心安
    Linux操作
    listBox1_DrawItem
    今天被骂
    我研究群体行为,希望大家一起讨论
    Matlab高级绘图
    网址
    下面哪些机制可以用于进程间通信?
  • 原文地址:https://www.cnblogs.com/sxdcgaq8080/p/9078070.html
Copyright © 2011-2022 走看看