微信小程序 零碎知识总结

页面路由

在小程序中所有页面的路由全部由框架进行管理

navigateTo, redirectTo 只能打开非 tabBar 页面
switchTab 只能打开 tabBar 页面
reLaunch 可以打开任意页面
页面底部的 tabBar 由页面决定,即只要是定义为 tabBar 的页面,底部都有 tabBar
调用页面路由带的参数可以在目标页面的onLoad中获取


属性双向绑定

<input model:value="{{value}}" />
this.setData({
	value:'valuename'
})

获取界面上的节点信息

获取节点属性、样式、在界面上的位置等信息

官方文档案例

const query = wx.createSelectorQuery()
query.select('#id').boundingClientRect(function(res){
	res.top // #id 节点的上边界坐标(相对于显示区域)
})
query.selectViewport().scrollOffset(function(res){
  res.scrollTop // 显示区域的竖直滚动位置
})
query.exec()

API

小程序开发框架提供丰富的微信原生 API,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等

事件监听API

以 on 开头的 API 用来监听某个事件是否触发,如:wx.onSocketOpen,wx.onCompassChange 等
这类 API 接受一个回调函数作为参数,当事件触发时会调用这个回调函数,并将相关数据以参数形式传入。

wx.onCompassChange(function (res) {
  console.log(res.direction)
})

同步API

以 Sync 结尾的 API 都是同步 API, 如 wx.setStorageSync,wx.getSystemInfoSync 等。此外,也有一些其他的同步 API,如 wx.createWorker,wx.getBackgroundAudioManager 等,详情参见 API 文档中的说明
同步 API 的执行结果可以通过函数返回值直接获取,如果执行出错会抛出异常。

try {
  wx.setStorageSync('key', 'value')
} catch (e) {
  console.error(e)
}

异步API

大多数 API 都是异步 API,如 wx.request,wx.login 等。这类 API 接口通常都接受一个 Object 类型的参数,这个参数都支持按需指定以下字段来接收接口调用结果

参数名类型必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
其他Any-接口定义的其他参数

回调函数的参数
success,fail,complete 函数调用时会传入一个 Object 类型参数,包含以下字段:

  • errMsg 错误信息,如果调用成功返回 ${apiName}:ok
  • errCode 错误码,仅部分 API 支持,具体含义请参考对应 API 文档,成功时为 0。

全局配置

在app.json文件以JSON对象进行全局配置

entryPagePath

小程序默认启动首页

"entryPagePath":"pages/index/index"
functionalPages

是否启用插件功能页,默认关闭

"functionalPages":true
permission

小程序接口权限相关设置

"permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于小程序位置接口的效果展示" // 高速公路行驶持续后台定位
    }
  }

调用微信扫一扫功能

wx.scanCode({
	success:(res)=>{
		console.log(res)
	}
})

存储

每个微信小程序都可以有自己的本地缓存,可以通过一下api对本地缓存进行读写和清理

wx.setStorage/wx.setStorageSync
wx.getStorage/wx.getStorageSync
wx.clearStorage/wx.clearStorageSync
wx.removeStorage/wx.removeStorageSync

隔离策略

同一个微信用户,同一个小程序 storage 上限为 10MB。storage 以用户维度隔离,同一台设备上,A 用户无法读取到 B 用户的数据;不同小程序之间也无法互相读写数据。

  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

js胡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值