小程序

微信小程序getApp()和App()方法详解

2022-11-27

微信小程序getApp()和App()方法详解

App()是一个小程序的入口方法,写在app.js文件里。


开发时我们主要是把一些全局变量,全局方法放在App()里面,比如用户名,请求数据时的URL等。

// app.js

App({

  onLaunch() {

    // 展示本地存储能力

    const logs = wx.getStorageSync('logs') || []

    logs.unshift(Date.now())

    wx.setStorageSync('logs', logs)

 

    // 登录

    wx.login({

      success: res => {

        // 发送 res.code 到后台换取 openId, sessionKey, unionId

      }

    })

  },

  globalData: {

    //全局变量

    userInfo: null,

    globalReqUrl: "http://localhost:8080"         //请求数据时的URL

  }

})

那么我们该如何调用这些全局变量呢?


二、getApp()

getApp()方法用于获取App()的实例:

//在其他页面的js文件里

const app = getApp();

this.data.username =  app.globalData.userInfo;

this.data.url=  app.globalData.globalReqUrl;



当然,也可以用在从一个页面向另一个页面传递数据:

var item = this.data.list[index];

var app = getApp();

app.item =item;     //注意原来的App()当中并没有item这个数据。

//然后在其它页面的js文件里用上面的方法获取item即可。