zoukankan      html  css  js  c++  java
  • 微信小程序

    微信小程序账号与工具

    在线文档:https://mp.weixin.qq.com/debug/wxadoc/dev/

    小程序开发者账号注册

    微信公众平台:https://mp.weixin.qq.com/

    小程序开发者账号注册:https://mp.weixin.qq.com/wxopen/waregister?action=step1

    微信开发者工具

    微信开发者工具:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html

    微信小程序文件结构

    主体文件结构

    主体部分由三个文件组成,必须放在项目的根目录,如下:

    | 文件 | 作用 |
    [app.js]        小程序逻辑 |
    [app.json]    小程序公共设置 |
    [app.wxss]   小程序公共样式表 |

    页面文件结构

    页面由四个文件组成,分别是:

    | 文件类型 |  作用 |

    [js]    页面逻辑 ( 微信小程序没有window和document对象 ) |
    [wxml]    页面结构 ( XML语法,不是HTML语法 ) |
    [wxss]    页面样式表 ( **拓展了rpx尺寸单位,微信专属响应式像素** ) |
    [json]     页面配置 ( 不能写注释,否则编译报错 ) |

     微信小程序配置

    app.json 配置项列表

    > `app.json`文件用来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。

    | 属性 | 必填 | 描述 |
    [pages]     String Array | 设置页面路径 |
    [window]   Object | 设置默认页面的窗口表现 |
    [tabBar]    Object |  设置底部 tab 的表现 |
    [debug]     Boolean | 设置是否开启 debug 模式 |

     window配置

     用于设置小程序的状态栏、导航条、标题、窗口背景色。
     注意:页面的`.json`只能设置 `window` 相关的配置项,以决定本页面的窗口表现,所以无需写 `window` 这个键。

    | 属性 | 类型 | 默认值 | 描述 |
    | navigationBarBackgroundColor | HexColor | #000000 | 导航栏背景颜色,如"#000000" |
    | navigationBarTextStyle | String | white | 导航栏标题颜色,仅支持 black/white |
    | navigationBarTitleText | String | | 导航栏标题文字内容 |
    | backgroundColor | HexColor | #ffffff | 窗口的背景色 |
    | backgroundTextStyle | String | dark | 下拉背景字体、loading 图的样式,仅支持 dark/light |
    | enablePullDownRefresh | Boolean | false | 是否开启下拉刷新,详见[页面相关事件处理函数]页面相关事件处理函数)。 |
    | onReachBottomDistance | Number | 50 | 页面上拉触底事件触发时距页面底部距离,单位为px |

     常用布局标签

    <view></view> 相当于 <div></div>
    <text></text> 相当于 <span></span>
    <image></image> 相当于 <img />
    <navigator></navigator> 相当于 <a></a>
    <block></block> 区块标签,不会渲染到页面

    常用表单标签

    <button></button>
    <input type="text" />
    <checkbox />
    <radio/>

    轮播图组件

    <swiper indicator-dots="是否显示面板指示点" autoplay="是否自动切换" interval="自动切换时间间隔" duration="滑动动画时长">
    <swiper-item>
    <image src="图片路径1" width="375" height="150"/>
    </swiper-item>
    <swiper-item>
    <image src="图片路径2" width="375" height="150"/>
    </swiper-item>
    </swiper>

    微信小程序页面函数

    生命周期函数

     1 Page({
     2 /** 页面的初始数据 */
     3 data: {
     4 },
     5 /** 生命周期函数--监听页面加载 */
     6 onLoad: function (options) {
     7 },
     8 /** 生命周期函数--监听页面初次渲染完成 */
     9 onReady: function () {
    10 },
    11 /** 生命周期函数--监听页面显示 */
    12 onShow: function () {
    13 },
    14 /** 生命周期函数--监听页面隐藏 */
    15 onHide: function () {
    16 },
    17 /** 生命周期函数--监听页面卸载 */
    18 onUnload: function () {
    19 }
    20 })
    View Code

    页面相关事件处理函数

    1 /** 页面相关事件处理函数--监听用户下拉动作 */
    2 onPullDownRefresh: function () {
    3 },
    4 /** 页面上拉触底事件的处理函数 */
    5 onReachBottom: function () {
    6 },
    7 /** 用户点击右上角分享 */
    8 onShareAppMessage: function () {
    9 }
    View Code

     wx:key 提高列表渲染时排序的效率

    `wx:key` 的值以两种形式提供

    1. 字符串,代表在 for 循环的 array 中 item 的某个 property,该 property 的值需要是列表中唯一的字符串或数字,且不能动态改变。
    2. 保留关键字 `*this` 代表在 for 循环中的 item 本身,这种表示需要 item 本身是一个唯一的字符串或者数字。

     1 <!--wxml-->
     2 <view wx:if="{{length >= 80}}"> 优秀 </view>
     3 <view wx:elif="{{length >= 60}}"> 良好 </view>
     4 <view wx:else> 加油 </view>
     5 ```
     6 
     7 ```javascript
     8 // page.js
     9 Page({
    10 data: {
    11 length: '95'
    12 }
    13 })
    View Code

    `wx:if` 与 `hidden` 区别

    `wx:if` 是否渲染, `hidden` 是否隐藏。

    一般来说,`wx:if` 有更高的切换消耗而 `hidden` 有更高的初始渲染消耗。

    因此,如果需要频繁切换的情景下,用 `hidden` 更好。

     [事件]

    - 事件对象可以获取额外信息,如 id, dataset(自定义属性集合), touches(触摸点坐标)。

    事件绑定和冒泡

    1. 冒泡事件 bind事件类型 如 `bindtap` `bindlongpress`
    2. 非冒泡事件 catch事件类型 如 `catchtap` ` catchlongpress`

    常用事件类型

     事件传参注意

    小程序绑定事件只能写函数名称,不能通过括号方式传参。

     WXSS 样式

    WXSS(WeiXin Style Sheets)是一套样式语言。

    与 CSS 相比,WXSS 扩展以下2个特性:

    - 尺寸单位 rpx ( responsive pixel 响应式像素)
    - 样式导入 @import "样式表路径";

    常用快捷键

    | 快捷键 | 说明 |
    | shift + alt + F | 格式化代码 |
    | ctrl + P | 跳到文件 |
    | ctrl + E | 跳到最近文件 |

  • 相关阅读:
    bug的约束
    bug管理规范
    FTP小教程
    测试需求,产品需求,项目需求
    如何理解客户需求、市场需求、产品需求、业务需求、特性、功能需求 ?(转)
    什么是测试需求?(转)
    绑定与非绑定,反射,内置方法
    面向对象之组合、封装、多态、property装饰器
    面向对象之继承与派生,属性查找
    面向对象基础
  • 原文地址:https://www.cnblogs.com/money131/p/10580886.html
Copyright © 2011-2022 走看看