前提:框架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) {}, // 失败回调
})