微信小程序框架接口

本文介绍了小程序中的两个重要函数:getApp用于获取小程序应用实例,实现数据或方法的共享;而getCurrentPages则用于获取当前页面栈,便于操作页面实例。此外,还讲解了Behavior功能,允许为页面或组件混入可复用的数据和方法。
摘要由CSDN通过智能技术生成

框架接口指的是小程序提供的一些全局函数,如 AppPageComponent 函数,本节再来学习另外几个有用的函数。

7.1 getApp

getApp 是一个全局的函数,调用该函数可以获取小程序应用实例,通过小程序应用实例可实现数据或方法的共享。

// app.js
App({
  // 读取本地存储的token数据
  token: wx.getStorageSync('token'),
  http(params) {
    // 举例封装网络请求
    wx.request({
      ...params,
      header: {},
    })
  }
})

在任意页面和组件中调用 getApp 就可以获取小程序的实例(即上述代码):

// pages/index/index.js
// 获取小程序实例
const app = getApp()
​
Page({
  onLoad() {
    // 能够读取到全局实全名定义的 token 数据
    console.log(app.token)
​
    // 调用全局实例中定义的方法
    app.http({
      url: '',
      method: 'GET'
    })
  },
})

7.2 getCurrentPages

getCurrentPages 获取当前页面栈,页面栈中包含的是页面的实例,数组中第一个元素为首页,最后一个元素为当前页面。

::: warning 注意: 不要在 App.onLaunch 的时候调用 getCurrentPages(),此时 page 还没有生成。 :::

// /pages/index/index.js
Page({
  onLoad() {
    // 获取页面历史栈
    const pageStack = getCurrentPages()
    // 获取当前页面的实例
    const currPage = pageStack[pageStack.length - 1]
  }
})

获取到页面栈后根据数组的索引值可以获取到页面实例,通过页面实例可以获取页面中的路由信息。

扩展-behavior

behaviors字段可以为页面或组件混入可复用的数据和方法

  1. 通过Behavior函数定义混入的数据或方法

    const mixin = Behavior({
      data: {
        share: '我是共享数据'
      },
      methods: {
        getShare() {
          console.log('获取共享数据:', this.data.share)
        }
      }
    })
    export { mixin }
    ​
    
    2.页面中通过behaviors属性引入使用
  2. import { mixin } from '../../utils/mixin'
    Page({
      behaviors: [mixin],
    })
    ​

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值