哆啦A梦的口袋——微信小程序开发随记

前提:框架MPX

2020.09.24

1、全局变量的设置与读取

(1)在 app.js 文件中的 globalData 中可设置全局变量

// app.js 

globalData: {
  userInfo: "sss",
  URL: 'https://www.ecare.xxx:xxxx'    
}

(2)在使用页面的 js 文件中可设置/添加/读取全局变量

// 读取

const app = getApp(); // 获取 app.js 文件
const globalData = app.globalData; // 获取全局变量 globalData
const url = globalData.URL;  // 获取全局变量 URL

// 设置

const app = getApp();
app.globalData.newValue = newValue; // 更新/新增全局变量的值

2、常用API

(1)toast 提示,默认 1500 后 hide

wx.showToast({title: '', icon: 'none'})

(2)modal 模态框

wx.showModal({
    title: '',
    content: '',
    confirmText: '',
    confirmColor: '#FF5510',
    showCancel: true,
    cancelText: '',
    cancelColor: '#999999',
    success (res) {
        if (res.cancel) {}
        if(res.confirm){}
    },
    fail(err){
        wx.showToast({title: '', icon: 'none'})
    }
})

(3)通过 id 选择组件

(4)路由

// 保留当前页面, 跳转到应用内的某个页面, 但是不能跳到 tabbar 页面

wxRouter.navigateTo({
  url: ''
})

// 关闭当前页面, 跳转到应用内的某个页面, 但是不允许跳转到 tabbar 页面

wxRouter.redirectTo({
  url: ''
})

// 关闭当前页面,返回上一页面或多级页面。

wxRouter.navigateBack({
  delta: 2 // 此处返回至前两级页面(eg: C->B->A)
})

(5)数据存储

// 存储数据--异步
wx.setStorage({
  key:"key",
  data:"value"
})

// 存储数据--同步
try {
  wx.setStorageSync('key', 'value')
} catch (e) {
  // Do something when catch error
}

// 读取数据--异步
wx.getStorage({
  key: 'key',
  success (res) {
    console.log(res.data)
  }
})

// 读取数据--同步

try {
  var value = wx.getStorageSync('key')
  if (value) {
    // Do something with return value
  }
} catch (e) {
  // Do something when catch error
}

2020.09.25

一、生命周期

1、组件的生命周期(created、attached、ready、moved、detached)

// 生命周期方法可以直接定义在 Component 构造器的第一级参数中。

// 自小程序基础库版本 2.2.3 起,组件的的生命周期也可以在 lifetimes 字段内进行声明(这是推荐的方式,其优先级最高)。

Component({
  lifetimes: {
    attached: function() {
      // 在组件实例进入页面节点树时执行
    },
    detached: function() {
      // 在组件实例被从页面节点树移除时执行
    },
    // ...
  },
  // 以下是旧式的定义方式,可以保持对 <2.2.3 版本基础库的兼容
  attached: function() {
    // 在组件实例进入页面节点树时执行
  },
  detached: function() {
    // 在组件实例被从页面节点树移除时执行
  },
  // ...
})

官方文档对五个生命周期函数的描述

(1)created

         触发时机:组件实例刚刚被创建好时, created 生命周期被触发。

                            此时,组件数据 this.data 就是在 Component 构造器中定义的数据 data 。

                            此时还不能调用 setData 。

         可做事情: 通常情况下,这个生命周期只应该用于给组件 this 添加一些自定义属性字段。

         注:组件实例刚刚被创建好,是指数据未挂载、事件未绑定---相互独立。

(2)attached

         触发时机:在组件完全初始化完毕、进入页面节点树后, attached 生命周期被触发。

                            此时, this.data 已被初始化为组件的当前值。

         可做事情:这个生命周期很有用,绝大多数初始化工作可以在这个时机进行。

(3)detached

         触发时机:在组件离开页面节点树后, detached 生命周期被触发。退出一个页面时,如果组件还在页面节点树中,则 detached 会被触发。

2、组件所在页面的生命周期(show、hide、resize)

// 在 pageLifetimes 定义段中定义

Component({
  pageLifetimes: {
    show: function() {
      // 页面被展示
    },
    hide: function() {
      // 页面被隐藏
    },
    resize: function(size) {
      // 页面尺寸变化
    }
  }
})

二、git 操作--rebase

参考:https://www.liaoxuefeng.com/wiki/896043488029600/1216289527823648

2020.09.30

1、http 请求头

(1)Content-Type:application/json --- 用来告诉服务端消息主体是序列化后的 JSON 字符串

(2)Content-Type:application/x-www-form-urlencoded 

2、wx:if 与 hidden 都可以控制微信小程序中元素的显示与否。

区别:

wx:if 是遇 true 显示,hidden 是遇 false 显示。

wx:if 在隐藏的时候不渲染,而 hidden 在隐藏时仍然渲染,只是不呈现。

所以如果频繁切换的话,用 wx:if 将会消耗更多资源,因为每次呈现的时候他都会渲染,每次隐藏的时候,他都会销毁。

如果切换并不频繁的话,用 wx:if 相对来说较好些,因为它会避免初始就一下渲染那么多。

2020.10.02

1、wx:key = *this"

(1)保留关键字 *this 代表在 for 循环中的 item 本身,这种表示需要 item 本身是一个唯一的字符串或者数字。

(2)相信大家对这个也是一头雾水,我的理解它就是告诉wx,用我自身(this关键字不用解释了吧!)作为这个key来进行迭代,当然,此时要求你自身是唯一的数字或者字符串(就是不能为对象,不然让人家咋找)。

2020.10.16

1、API

小程序打开另一个小程序

wx.navigateToMiniProgram({
  appId: 'wxd7fa7df243b05aed', // 要打开的小程序的appId
  path: '', // 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query。
  extraData: {}, // 需要传递给目标小程序的数据。
  envVersion: '', // 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。
  success(res) {},  // 成功回调
  fail(res) {},  // 失败回调
})

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值