WX04--公共对象、本地存储、页面栈与生命周期函数

1.小程序公共对象

  • 全局 app.js

    // 小程序顶层的app.js ,存放的是整个小程序的全局对象
    
    
    App({
    
      /**
       * 当小程序初始化完成时,会触发 onLaunch
       * 是整个小程序启动运行时,全局触发执行,后续就不会执行了。全局就只触发一次
       */
      onLaunch: function () {
    
      },
      globalData:{
        userInfo: null, 
      }
    })
    
  • 其他页面操作公共值

    var app = getApp();
    Page({
    	data: {
      	},
      	onShow:function(){
      		app.globalData
            // this.setData({
            //     userInfo: app.globalData.userInfo
            //  })
      	}
    });
    
    // 注意:
        当前页面修改globalData之后,其他页面使用此值不会自动变化,
        而是需要onShow函数中手动设置该值 setData(), 将该页面的值,设置成全局变量中的值
    

2.本地存储操作

// 获取 Sync结尾是同步执行
wx.getStorageSync('userInfo');
// 设置
wx.setStorageSync('userInfo',"sdfsfd");
// 删除
wx.removeStorageSync("userInfo")

3.页面栈

// 获取整个小程序,页面路由跳转的列表
var pages = getCurrentPages();

// 获取上一级页面对象,可获得页面的路由地址
prevPage = pages[pages.length-2];

4.跳转回页面栈中的页面

// 跳转上一级页面
wx.navigateBack({});  // delta: 默认为1,默认跳转回上一级页面


// 可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层
var pages = getCurrentPages();
var pages_number = pages.length  // 页面栈的页面数量

wx.navigateBack({
    delta: 2  // 跳转上两级页面
});

// 注:如果delta大于现有页面数,则返回到首页

5.小程序页面的生命周期回调函数

  • onLoad : 页面第一次加载,获取数据,只执行一次
  • onShow : 展示页面到前台,页面每次显示都会触发
  • onReady : 页面初次渲染完成时触发,只执行一次
  • onHide : 隐藏页面到后台,页面每次隐藏都会加载
  • onUnload : 卸载页面,小程序关闭或当使用wx.redirectTo()跳转页面时,触发

6.wx:if指令

<view wx:if="{{length > 5}}"> 1 </view>
<view wx:elif="{{length > 2}}"> 2 </view>
<view wx:else> 3 </view>
posted @ 2022-04-26 14:43  Edmond辉仔  阅读(60)  评论(0)    收藏  举报