微信小程序开发学习(一)
一、各种JSON配置
1、小程序配置app.json
为小程序全局配置,包括所有页面路径、界面表现、网络超时时间、底部tab等,类比APP开发中manifest配置。
2、工具配置project.config.json
一些个性化配置,暂时没遇到需要用到的地方。
3、页面配置page.json
独立定义每个页面一些属性,如顶部颜色、是否允许下拉刷新。不过色调感觉还是统一定义比较好,适合多个页面情况,一般来说小程序主要是结合tab实现多页面。
二、WXML
1、标签名
类比HTML,不过标签名是view、button、text 等,更贴近APP开发控件名。
2、一些属性与表达式
网页开发时提倡把渲染与逻辑分离,即不让JS直接操控DOM,只需管理状态,小程序也是同样的思路。如:
WXML:
<text>{{msg}}</text>
JS:
this.setData({msg: 'Hello World'})
以上通过{{ }}的语法把一个变量绑定到界面上,即数据绑定。除此之外,还需要 if/else, for等控制能力,这些控制能力都用 wx: 开头的属性来表达。
三、API
1、事件监听API
以on开头的API用来监听某个事件是否触发,如:wx.onSocketOpen,wx.onCompassChange等。
这类API接受一个回调函数作为参数,当事件触发时会调用这个回调函数,并将相关数据以参数形式传入。如:
wx.onCompassChange(function (res) {
console.log(res.direction)
})
2、同步API
以Sync结尾的API都是同步API,如wx.setStorageSync,wx.getSystemInfoSync等。同步 API 的执行结果可以通过函数返回值直接获取,如果执行出错会抛出异常。如:
try {
wx.setStorageSync('key', 'value')
} catch (e) {
console.error(e)
}
3、异步API
这类 API 接口通常都接受一个 Object 类型的参数,这个参数都支持按需指定以下字段来接收接口调用结果:
Object参数说明
| 参数名 | 说明 |
|---|---|
| success | 接口调用成功的回调函数 |
| fail | 接口调用失败的回调函数 |
| complete | 接口调用结束的回调函数(调用成功、失败都会执行) |
回调函数的参数
| 属性 | 类型 | 说明 |
|---|---|---|
| errMsg | string | 错误信息,如果调用成功返回 ${apiName}:ok |
| errCode | number | 错误码,仅部分 API 支持,具体含义请参考对应 API 文档,成功时为 0 |
4、一些示例
获取用户地理位置
wx.getLocation({
type: 'wgs84',
success: (res) => {
const latitude = res.latitude // 纬度
const longitude = res.longitude // 经度
}
})
微信扫一扫
wx.scanCode({
success: (res) => {
console.log(res)
}
})
多数API回调都为异步,异步API的执行结果需要通过Object类型的参数中传入的对应回调函数获取。部分异步API也会有返回值,可以用来实现更丰富的功能。
微信小程序开发学习(一)的更多相关文章
- 微信小程序开发学习资料
作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- 微信小程序开发学习(一):开发前准备
开发前准备 Step1:注册 微信小程序开放平台: https://mp.weixin.qq.com/cgi-bin/wx 开发者注册: https://mp.weixin.qq.com/wxopen ...
- 第1-5章 慕课网微信小程序开发学习笔记
第1章 前言:不同的时代,不同的Web --微信小程序商城构建全栈应用 http://note.youdao.com/noteshare?id=a0e9b058853dbccf886c1a890594 ...
- 微信小程序开发学习记录
两天撸了一遍小程序的文档,跟网页相似,个人感觉是简化版.但是因为开放了很多微信自带的接口又使得部分功能开发起来相对方便 思维导图如下: 目前我的理解大概是这么个逻辑,以后深入学习后可能会有更改 跟着大 ...
- 微信小程序开发学习(二)
一些官方API 总结了一些官方API,便于之后有用时针对性查找(发现官方给了好多好用的API)官方API文档 基础 wx.canIUse:判断小程序的API,回调,参数,组件等是否在当前版本可用,返回 ...
- 第6章 AOP与全局异常处理6.5-6.11 慕课网微信小程序开发学习笔记
https://coding.imooc.com/learn/list/97.html 目录: 第6章 AOP与全局异常处理6-1 正确理解异常处理流程 13:236-2 固有的处理异常的思维模式与流 ...
- 第6章 AOP与全局异常处理6.1-6.4 慕课网微信小程序开发学习笔记
第6章 AOP与全局异常处理 https://coding.imooc.com/learn/list/97.html 目录: 第6章 AOP与全局异常处理6-1 正确理解异常处理流程 13:236-2 ...
- 第7章 数据库访问与ORM 慕课网微信小程序开发学习笔记
第7章 数据库访问与ORM https://coding.imooc.com/learn/list/97.html 目录: 7-1 数据库操作三种方式之原生SQL 19:09 7-2 从一个错误了解E ...
- ============================================ 微信小程序开发学习
开发文档: https://developers.weixin.qq.com/miniprogram/dev/framework/
随机推荐
- Windows elasticsearch1.5.1安装
http.cors.enabled: true http.cors.allow-origin: /.*/ network.host: 192.168.2.200 http.port: cluster. ...
- 回温js算法
---恢复内容开始--- 一,冒泡排序. 具体算法描述如下: <1>.比较相邻的元素.如果第一个比第二个大,就交换它们两个: <2>.对每一对相邻元素作同样的工作,从开始第一对 ...
- Tutorial: Create a Windows Machine Learning UWP application (C#)
In this tutorial, we'll build a simple Universal Windows Platform application that uses a trained ma ...
- IFE第二天
HTML是超文本标记语言,HTML5是下一代的HTML标准. HTML元素是组成HTML文档的部分,HTML属性为HTML元素提供附加信息. 文档类型<!DOCTYPE>声明帮助浏览器正确 ...
- 动态强制改变for循环里面item的值
var item = that.data.articles[inde_x]//获取数据列表 item.is_collection = 1//希望将特定的值改变 console.log(that.dat ...
- POJ1988 Cube stacking(非递归)
n有N(N<=30,000)堆方块,开始每堆都是一个方块.方块编号1 – N. 有两种操作: nM x y : 表示把方块x所在的堆,拿起来叠放到y所在的堆上. nC x : 问方块x下面有多少 ...
- Django中ORM介绍
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...
- java并发编程 | 锁详解:AQS,Lock,ReentrantLock,ReentrantReadWriteLock
原文:java并发编程 | 锁详解:AQS,Lock,ReentrantLock,ReentrantReadWriteLock 锁 锁是用来控制多个线程访问共享资源的方式,java中可以使用synch ...
- Sublime Text3—设置快捷键打开浏览器
在不同浏览器查看代码效果可谓是家常便饭,所以用不同快捷键对应打开不同浏览器可以大大提高工作效率. 本篇分享个简单的方法只需二步: 一.安装插件SideBarEnhancements ctrl+shif ...
- django 4.get接口开发
根据上一篇文章,有post,那么就有get请求,其余部分不变,就是把post换成get就可以. #views.py from django.http.response import HttpRespo ...