全局配置篇
页面跳转路由地址引入
app.json配置引入文件就是类似vue路由按顺序从上到下加载页面
页面配置loading可以把loading页放在配置页最顶部
页面头部公共样式配置
/**
* @param {String} navigationStyle 需要定义/导航栏样式 默认导航栏 - default 自定义导航栏 - custom
* @param {String} navigationBarBackgroundColor 需要定义/导航栏背景颜色
* @param {String} navigationBarTitleText 需要定义/导航栏标题文字内容
* @param {String} backgroundColor 需要定义/窗口的背景色
* @param {String} backgroundTextStyle 需要定义/下拉 loading 的样式,仅支持 `dark` / `light`
* @param {String} navigationBarBackgroundColor 需要定义/导航栏背景颜色
**/
案例
tabBar配置
可以配置未选中及选中icon、字体颜色、字体选中颜色、背景色等
plugins配置
声明小程序需要使用的插件
{
"plugins": {
"myPlugin": {
"version": "1.0.0", // 小程序版本号
"provider": "wxidxxxxxxxxxxxxxxxx" // 小程序appid配置
}
}
}
页面配置篇
app.json 中的部分配置,也支持对单个页面进行配置,可以在页面对应的 .json 文件来对本页面的表现进行配置。
常用:
- 不想全局配置自定义头部只想部分那只在当前页面配置
navigationStyle设置为custom即可; disableScroll页面禁止滚动,处理ios页面弹性问题或者别的逻辑禁用;usingComponents对象,页面组件引用类似vuecomponents;
标签篇
常用标签覆盖不了比如canvas,有层级问题
<view>
<text></text>
<image></image>
</view>
可做下拉刷新,可滚动视图区域。使用竖向滚动时,需要给scroll-view一个固定高度,通过 WXSS 设置 height。组件属性的长度单位默认为px,2.4.0起支持传入单位(rpx/px)。
<scroll-view>
<view></view>
</scroll-view>
覆盖在原生组件之上的文本视图。 可覆盖的原生组件包括map、video、canvas、camera、live-player、live-pusher 只支持嵌套cover-view、cover-image,可在 cover-view 中使用 button。组件属性的长度单位默认为px,2.4.0起支持传入单位(rpx/px)。
<cover-view>
<cover-image></cover-image>
</cover-view>
生命周期篇
onlaunch
当小程序初始化完成时,会触发 onLaunch(全局只触发一次)(app.js)
onLoad
页面加载,小程序注册完成后,加载页面,触发onLoad方法。一个页面只会调用一次,可以在 onLoad 中获取打开当前页面所调用的 query 参数(当前页面js)。
onShow
页面显示,页面载入后触发onShow方法,显示页面。每次打开页面都会调用一次(比如当小程序有后台进入到前台运行或重新进入页面时)。
onReady
首次显示页面,页面初次渲染完成,会触发onReady方法,渲染页面元素和样式,一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。对界面的设置如wx.setNavigationBarTitle请在onReady之后设置。
onHide
页面隐藏,当navigateTo或底部tab切换时调用。
onUnload
页面卸载,当使用重定向方法wx.redirectTo(OBJECT)或关闭当前页返回上一页wx.navigateBack的时候调用。
基本上可以说执行顺序为onLaunch–onLoad–onShow–onReady–onHide.
路由篇
wx.switchTab
跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
wx.reLaunch
关闭所有页面,打开到应用内的某个页面。
wx.redirectTo
关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。
wx.navigateTo
保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 wx.navigateBack 可以返回到原页面。小程序中页面栈最多十层。
wx.navigateBack
关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。
常规篇
组件事件传参及接收
组件事件传参 data-'+'字段名称
组件事件接收参数
e.currentTarget.dataset下查找字段
比如接收info
开发注意
1.接口请求域名校验
(1) 在微信小程序里使用 wx.request、wx.connectSocket、wx.uploadFile、wx.downloadFile 等方法时,
都会涉及到 URL,但是微信小程序是不允许随便访问 URL 请求域名的,
需要在小程序的“设置”->“开发设置”中,把域名配置进去。
(2) 在开发环境下,我们可以先不配置,需要在小程序的右上角“详情”->“本地设置”中,
把不校验合法域名、web-view(业务域名)、TLS版本以及HTTPS证书勾选。如图
(3) “项目配置”里会有一个合法域名可以打开查看一下, 如图可以把这个域名加到微信小程序里步骤(1)里
2.wx 小程序canvas ios系统会跟页面滚动
canvas属性: disableScroll:true
3.cover-view用法
自带overflow:hidden
清除隐藏即可
溢出滚动样式必须 overflow-y: scroll + scroll-top(number/string) 即可