zoukankan      html  css  js  c++  java
  • 草稿

    全局变量globalData在app.js页面和其他js页面调用与修改问题

    全局变量globalData

    小程序中js页面声明的变量与函数只能在此页面中使用,并且在不同页面中可以用相同的变量命名。而如果想要某些数据在所有页面中都能使用,那就可以使用全局变量globalData进行数据的存取。globalData在app.js中进行设置。

    //app.js文件
    App({
      //在小程序完成初始化时,触发onLaunch(全局只触发一次)
      // Do something initial when launch.
      onLaunch(options) {
    
      },
      //全局变量
      globalData: {
        Info: 12,
        newsList: [{}]
      }
    })

    一、app.js页面中globalData变量的修改

    1、在app.js页面中要修改globalData变量的值,如果直接在onLaunch: function () 函数中修改,只需要用this调用globalData进行修改。

    this.globalData.Info = 15;
    console.log(this.globalData.Info) //15

    2、若使用了请求wx.request等 则需要使用 var that = this,然后用that调用globalData。

    //app.js文件
    App({
      //在小程序完成初始化时,触发onLaunch(全局只触发一次)
      // Do something initial when launch.
      onLaunch(options) {
        //请求信息
        var that = this;
        wx.request({
          url: 'https:', //此处略
          data: {
            x: "",
            y: ""
          },
          success: function (res) {
            console.log(res.data);
            let list = [];
            for (var i = 0; i < 4; i++) {
              let obj = {};
              obj.id = res.data.result.data[i].uniquekey;
              obj.title = res.data.result.data[i].title;
              obj.date = res.data.result.data[i].date;
              obj.url = res.data.result.data[i].url;
              obj.poster = res.data.result.data[i].thumbnail_pic_s;
              list.push(obj);
            }
            that.globalData.newsList = list;
          }
        })
      },
      //全局变量
      globalData: {
        Info: 12,
        newsList: [{}]
      }
    })

    二、其他js页面中globalData变量的读取和修改

    当需要在其他页面读取和修改globalData中的数据时,需要用var app = getApp()进行引用

    1、读取

    var app = getApp(); //声明app实例
    Page({
      onLoad: function () {
        console.log(app.globalData.Info);
      }
    })

    2、修改数据

    var app = getApp();
    Page({
      onLoad: function () {
        app.globalData.Info = 22;
      }
    })
  • 相关阅读:
    常见的HTTP状态码(HTTP Status Code)说明
    Java基本数据类型和Integer缓存机制
    面向对象的三大基本特征和五大基本原则
    工程变更(ENGINEERING CHANGE)
    反射
    Redis学习手册(开篇)
    MVC,SSM与三层架构的构成及相互关系
    Java框架篇---Mybatis 入门
    java三大框架介绍
    WEB前端JS与UI框架
  • 原文地址:https://www.cnblogs.com/shiliumu/p/14801742.html
Copyright © 2011-2022 走看看