微信小程序总结 -- 基础

微信小程序

一:项目开始

注册账号

  • 申请小程序账号
    • AppID:
    • 服务器域名:小程序发请求必须先配置请求的服务器域名
  • 安装微信开发者工具
  • 使用微信开发者工具初始化项目

注意
服务器域名:

  1. 域名只支持 https (request、uploadFile、downloadFile) 和 wss (connectSocket) 协议;
  2. 一个月内仅能修改5次
  3. 小程序必须使用 HTTPS 请求。小程序内会对服务器域名使用的HTTPS证书进行校验,如果校验失败,则请求不能成功发起(跳过域名校验)

二:项目构成

  • app.js : 全局逻辑
  • app.json:全局配置,包括小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等
  • app.wxss:全局css
  • project.config.json:微信开发者工具配置
  • page:页面
    • logs
    • index
      • json 后缀的 JSON 配置文件: 页面的单独配置
      • wxml 后缀的 WXML 模板文件: 页面结构
      • wxss 后缀的 WXSS 样式文件: 页面样式(仅对当前页面生效)
      • js 后缀的 JS 脚本逻辑文件: 页面逻辑(可通过getApp()获取全局应用实例)

注意:为了方便开发者减少配置项,描述页面的四个文件必须具有相同的路径与文件名


三:生命周期

前台、后台定义: 当用户点击左上角关闭,或者按了设备 Home 键离开微信,小程序并没有直接销毁,而是进入了后台;当再次进入微信或再次打开小程序,又会从后台进入前台。
注意:只有当小程序进入后台一定时间,或者系统资源占用过高,才会被真正的销毁

属性 描述
onLoad(option) 监听页面加载: componentWillMount
onReady 监听页面初次渲染完成 -- 结构渲染:相当于componentDidMount
onShow 监听页面显示 -- 前后台切换
onHide 监听页面隐藏 -- 前后台切换
onUnload 监听页面卸载 -- 跳转页面
  • Page.prototype.setData:页面重新渲染
  • Page.prototype.route:页面路由


    微信小程序总结 -- 基础_第1张图片
    生命周期

四:视图层

4.1 wxml

用于描述页面的结构

data: {
  str: 'str',
  num1: 1,
  num2: 2,
  length: 5,
  arr: [
  {name: 'arr1', id: 1},
  {name: 'arr2', id: 2},
  ],
  obj: {
    a: 'obj1',
    b: 'obj2'
  }
}

4.1.1 数据绑定


 {{str}} 
 {{obj.a}} 


{{num1 + num2}}


属性


三元运算

4.1.2 列表渲染



  {{index}}: {{item.name}}




  {{idx}}: {{itemName.name}}




   {{index}} 
   {{item}} 




  {{index}}: {{item.name}}



  {{index}}: {{item.name}}


4.1.3 条件渲染

 1 
 2 
 3 



   view1 
   view2 

注意 并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性

wx:if vs hidden

  • hidden:始终会渲染
  • wx:if:可能会渲染

如果有频繁的切换,选择hidden,否则wx:if


4.1.4 模板