一、开发前准备

1、开发工具下载。

2、微信小程序设计指南

3、首先要通读一遍官方文档,看看都有哪些东西,都能干什么。

二、目录结构

1、components 小程序自定组件 (组件生命周期,组件间通信与事件,数据监听器)

2、images 小程序内图片资源

3、miniprogram_npm  使用npm包安装的组件

4、pages  小程序页面文件夹放置微信小程序所有的小程序页面,每个小程序页面基本有.js  .json  .wxml  .wxss 四个文件组成

  • js:文件帮我们去处理微信小程序里面的逻辑和数据交互(数据双向绑定,获取界面上的节点信息)
  • json:文件帮我们配置微信小程序页面的一个配置信息
  • wxml:文件是用来帮我们展示我们小程序页面的元素和内容(数据绑定、列表渲染、条件渲染、模板、引用)
  • wxss:文件帮我们设置小程序页面元素的样式

5、utils  小程序公用类目录

6、app.js:注册小程序

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

8、app.wxss:小程序公共样式表

三、开发详解系列

1、APP生命周期(app.js注册小程序,小程序运行机制)

//必须在 app.js 中调用,必须调用且只能调用一次。
App({onLaunch (options) {// Do something initial when launch.},onShow (options) {// Do something when show.},onHide () {// Do something when hide.},onError (msg) {console.log(msg)},globalData: 'I am global data'
})

2、页面生命周期和参数传递(生命周期,页面路由)

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

3、事件

  • 冒泡事件(bind):当一个组件上的事件被触发后,该事件会向父节点传递。
  • 非冒泡事件(catch):当一个组件上的事件被触发后,该事件不会向父节点传递。
  • 互斥事件(mut-bind):如果事件冒泡到其他节点上,其他节点上的 mut-bind 绑定函数不会被触发,但 bind 绑定函数和 catch 绑定函数依旧会被触发。
  • 事件的捕获(capture-bindcapture-catch):触摸类事件支持捕获阶段。捕获阶段位于冒泡阶段之前,且在捕获阶段中,事件到达节点的顺序与冒泡阶段恰好相反。

4、获取用户信息(小程序登录、UnionID 机制说明,获取手机号,头像昵称、位置、运动步数等授权)

5、发起 HTTPS 网络请求

wx.request({url: 'test.php', //仅为示例,并非真实的接口地址data: {x: '',y: ''},header: {'content-type': 'application/json' // 默认值},success (res) {console.log(res.data)}
})
  • 每个微信小程序需要事先设置通讯域名,小程序只可以跟指定的域名进行网络通信

  • 域名必须经过 ICP 备案

  • 域名只支持 https,域名不能使用 IP 地址在微信开发者工具中,可以临时开启 开发环境不校验请求域名、TLS版本及HTTPS证书 选项,跳过服务器域名的校验。此时,在微信开发者工具中及手机开启调试模式时,不会进行服务器域名的校验。

 四、Tip

1、setData接口的调用涉及逻辑层与渲染层间的线程通信,通信过于频繁可能导致处理队列阻塞,界面渲染不及时而导致卡顿,应避免无用的频繁调用。

  • 视图层绑定的变量使用this.setData({a:'1'}),同时this.data.a同步改变。
  • 要在页面渲染后执行的方法可以写在setData的回调方法中this.setData({a:'1'},()=>{ // Do something.})
  • setData操作会引起框架处理一些渲染界面相关的工作,一个未绑定的变量意味着与界面渲染无关,传入setData会造成不必要的性能消耗。

2、组件对应 wxss 文件的样式,只对组件wxml内的节点生效。

  • 继承样式,如 font 、 color ,会从组件外继承到组件内。
  • 组件和引用组件的页面不能使用id选择器(#a)、属性选择器([a])和标签名选择器,请改用class选择器。
  • 分包中不可使用其他分包资源,可使用主包资源;主包不可使用分包资源。
#a { } /* 在组件中不能使用 */
[a] { } /* 在组件中不能使用 */
button { } /* 在组件中不能使用 */
.a > .b { } /* 除非 .a 是 view 组件节点,否则不一定会生效 */

3、小程序分包,单个包最大2M,代码包总大小20M

 "pages": [ //主包页面配置"pages/index/index",],"subpackages": [ // 配置分包{"root": "pages/activity", // 分包根目录"pages": [  // 分包页面"perInvite/index"  ]},{"root": "pages/subPages","pages": ["camp/index"]}],
  • 分包中不可使用其他分包资源,可使用主包资源;主包不可使用分包资源。

微信小程序学习文档指南相关推荐

  1. 微信小程序学习文档总结

    一. 基础用法 div = view span = text (只有当text中的 user-select属性为true时才可选中) button image <image src=" ...

  2. 微信小程序_文档_01_入门

    小程序API文档地址: https://developers.weixin.qq.com/miniprogram/dev/ 微信小程序 小程序是一种新的开放能力,开发者可以快速地开发一个小程序.小程序 ...

  3. 微信小程序_文档_04_框架_视图层_WXS_WXSS

    WXS WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构. 注意 wxs 不依赖于运行时的基础库版本,可以在所有版本的小程序中运行. wxs 与 jav ...

  4. 第5节:开发微信小程序之文档详解

    前言 前面4节,我们讲解了为什么要开这一个专栏,以及第一个小程序Hello World,与其说第一个小程序,不如说微信开发者工具为我们创建了一个基础工程项目!然后,又开发了一个真正实现突破0的小程序- ...

  5. 微信小程序常用文档地址(自用常更新)

    微信开放文档: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html 阿里云oss文档 https://he ...

  6. 微信小程序 -- (1)文档说明、配置项

    微信小程序 1. 介绍 微信公众平台由腾讯提供,基于腾讯微信的服务器,为广大企业.组织.个人提供用户管理或咨询服务的平台.微信公众平台提供了3种账号类型: 服务号.订阅号.小程序 服务号: -类似:中 ...

  7. 微信小程序接口文档PHP,微信小程序API 导航

    微信小程序API 导航 一.wx.navigateTo(OBJECT) 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面. OBJECT 参数说明: 示例代码: ...

  8. 微信小程序之文档管理系统(含源码+论文+答辩PPT等)

    项目功能简介: 该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等 本系统包含微信小程序做的论文管理系统前台和Java做的后台管理系统: 微信小程序--论文管理系统前台涉及技术:W ...

  9. 微信小程序_文档_05_框架_组件_插件_多线程_兼容_优化

    基础组件 框架为开发者提供了一系列基础组件,开发者可以通过组合这些基础组件进行快速开发. 详细介绍请参考组件文档 自定义组件 从小程序基础库版本 1.6.3 开始,小程序支持简洁的组件化编程.所有自定 ...

最新文章

  1. java中文乱码解决之道(二)—–字符编码详解:基础知识 + ASCII + GB**
  2. Cell子刊:辛秀芳组发现病原菌效应因子操纵植物ABA激素通路促进侵染的新机制...
  3. 7岁自学微积分,31岁获得菲尔兹奖,智商230,也曾因为玩游戏耽误学业!
  4. abstract不能和哪些关键字共存 学习
  5. 前端ajax封装对象数组,后台的取法
  6. SQLServer查询表结构
  7. linux ubuntu 编写c/c++ 获取命令行传入参数示例
  8. GitHub建立个人网站(二)
  9. dedecms织梦(一)
  10. Nginx/Apache之伪静态设置 - 运维小结
  11. 通达信波段王指标公式主图_通达信股票波段王+精准买卖提示主图指标源码公式_通达信指标公式_指标公式网...
  12. android 长截屏时弹窗多次拼接问题处理
  13. 计算机二级数据模拟表,2020年计算机二级《Access数据库程序设计》模拟题(5)...
  14. 四象限时间管理有多好用?
  15. 初识JavaScript,体验JS的美好
  16. 几款磁力搜索引擎,找资料更方便
  17. h3c sr6608路由器IP限速
  18. css小技巧(文字两端对齐)
  19. 我们不仅仅做软件 云工作台+ 聚合·共享
  20. Java 23 种设计模式精讲

热门文章

  1. 华为手机关闭蓝牙开发搜索_大众速腾手机无法搜索车载蓝牙系统维修实例
  2. 宝元系统服务器不亮,我的服务器总是自动重启?
  3. 测试分析及调优(转)
  4. 考研英语二81分复习经验分享|资料推荐|复习方法|复习规划
  5. 市场上Web 应用防火墙哪家好?
  6. python——pickle模块的使用
  7. CANoe和CANalyzer各种版本之间的区别
  8. 威尔逊置信区间 php,排序之威尔逊区间算法
  9. 用户登录测试用例设计
  10. Java进阶——如何查看Java字节码