微信小程序用法

556 阅读4分钟

全局配置篇

页面跳转路由地址引入

app.json配置引入文件就是类似vue路由按顺序从上到下加载页面 页面配置loading可以把loading页放在配置页最顶部

截屏2022-07-18 18.24.17.png

页面头部公共样式配置

/** 
* @param {String} navigationStyle 需要定义/导航栏样式 默认导航栏 - default 自定义导航栏 - custom
* @param {String} navigationBarBackgroundColor 需要定义/导航栏背景颜色 
* @param {String} navigationBarTitleText 需要定义/导航栏标题文字内容 
* @param {String} backgroundColor 需要定义/窗口的背景色 
* @param {String} backgroundTextStyle 需要定义/下拉 loading 的样式,仅支持 `dark` / `light` 
* @param {String} navigationBarBackgroundColor 需要定义/导航栏背景颜色 
**/

案例

截屏2022-07-18 18.25.51.png

tabBar配置

可以配置未选中及选中icon、字体颜色、字体选中颜色、背景色等 截屏2022-07-19 09.41.45.png

plugins配置

声明小程序需要使用的插件

{
  "plugins": {
    "myPlugin": {
      "version": "1.0.0", // 小程序版本号
      "provider": "wxidxxxxxxxxxxxxxxxx" // 小程序appid配置
    }
  }
}

页面配置篇

app.json 中的部分配置,也支持对单个页面进行配置,可以在页面对应的 .json 文件来对本页面的表现进行配置。

常用:

  1. 不想全局配置自定义头部只想部分那只在当前页面配置navigationStyle设置为custom即可;
  2. disableScroll页面禁止滚动,处理ios页面弹性问题或者别的逻辑禁用;
  3. usingComponents对象,页面组件引用类似vuecomponents; 截屏2022-07-19 09.48.17.png

标签篇

常用标签覆盖不了比如canvas,有层级问题

<view> 
    <text></text>
    <image></image>
</view>

可做下拉刷新,可滚动视图区域。使用竖向滚动时,需要给scroll-view一个固定高度,通过 WXSS 设置 height。组件属性的长度单位默认为px,2.4.0起支持传入单位(rpx/px)。

<scroll-view>
    <view></view>
</scroll-view>

覆盖在原生组件之上的文本视图。 可覆盖的原生组件包括mapvideocanvascameralive-playerlive-pusher 只支持嵌套cover-viewcover-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-'+'字段名称

截屏2022-07-19 09.57.06.png 组件事件接收参数 e.currentTarget.dataset下查找字段

比如接收info 截屏2022-07-19 10.00.29.png

开发注意

1.接口请求域名校验

(1) 在微信小程序里使用 wx.request、wx.connectSocket、wx.uploadFile、wx.downloadFile 等方法时,

都会涉及到 URL,但是微信小程序是不允许随便访问 URL 请求域名的,

截屏2020-02-24下午4.04.27.png

需要在小程序的“设置”->“开发设置”中,把域名配置进去。 

20181116154716214.png

(2) 在开发环境下,我们可以先不配置,需要在小程序的右上角“详情”->“本地设置”中,

把不校验合法域名、web-view(业务域名)、TLS版本以及HTTPS证书勾选。如图

截屏2020-02-19上午11.52.10.png

(3) “项目配置”里会有一个合法域名可以打开查看一下, 如图可以把这个域名加到微信小程序里步骤(1)里

2.wx 小程序canvas ios系统会跟页面滚动

canvas属性: disableScroll:true

3.cover-view用法

自带overflow:hidden    
清除隐藏即可 
溢出滚动样式必须 overflow-y: scroll + scroll-top(number/string) 即可