一、各种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.onSocketOpenwx.onCompassChange等。

这类API接受一个回调函数作为参数,当事件触发时会调用这个回调函数,并将相关数据以参数形式传入。如:

wx.onCompassChange(function (res) {
console.log(res.direction)
})

2、同步API

以Sync结尾的API都是同步API,如wx.setStorageSyncwx.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也会有返回值,可以用来实现更丰富的功能。

微信小程序开发学习(一)的更多相关文章

  1. 微信小程序开发学习资料

    作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  2. 微信小程序开发学习(一):开发前准备

    开发前准备 Step1:注册 微信小程序开放平台: https://mp.weixin.qq.com/cgi-bin/wx 开发者注册: https://mp.weixin.qq.com/wxopen ...

  3. 第1-5章 慕课网微信小程序开发学习笔记

    第1章 前言:不同的时代,不同的Web --微信小程序商城构建全栈应用 http://note.youdao.com/noteshare?id=a0e9b058853dbccf886c1a890594 ...

  4. 微信小程序开发学习记录

    两天撸了一遍小程序的文档,跟网页相似,个人感觉是简化版.但是因为开放了很多微信自带的接口又使得部分功能开发起来相对方便 思维导图如下: 目前我的理解大概是这么个逻辑,以后深入学习后可能会有更改 跟着大 ...

  5. 微信小程序开发学习(二)

    一些官方API 总结了一些官方API,便于之后有用时针对性查找(发现官方给了好多好用的API)官方API文档 基础 wx.canIUse:判断小程序的API,回调,参数,组件等是否在当前版本可用,返回 ...

  6. 第6章 AOP与全局异常处理6.5-6.11 慕课网微信小程序开发学习笔记

    https://coding.imooc.com/learn/list/97.html 目录: 第6章 AOP与全局异常处理6-1 正确理解异常处理流程 13:236-2 固有的处理异常的思维模式与流 ...

  7. 第6章 AOP与全局异常处理6.1-6.4 慕课网微信小程序开发学习笔记

    第6章 AOP与全局异常处理 https://coding.imooc.com/learn/list/97.html 目录: 第6章 AOP与全局异常处理6-1 正确理解异常处理流程 13:236-2 ...

  8. 第7章 数据库访问与ORM 慕课网微信小程序开发学习笔记

    第7章 数据库访问与ORM https://coding.imooc.com/learn/list/97.html 目录: 7-1 数据库操作三种方式之原生SQL 19:09 7-2 从一个错误了解E ...

  9. ============================================ 微信小程序开发学习

    开发文档: https://developers.weixin.qq.com/miniprogram/dev/framework/

随机推荐

  1. [C++项目]2048控制台游戏

    #include <iostream> #include <windows.h> #include <ctime> using namespace std; ; ; ...

  2. LR socket协议脚本

    socket协议分为TCP.UDP两种(区别与联系在此不做赘述),一种为长连接.一种为短连接.如果创建连接时在init中对应关闭连接在end中,则为长连接:如果创建关闭连接都是在action则为短连接 ...

  3. asp.net获取当前请求的url

    asp.net获取当前请求的url 设当前页完整地址是:http://www.dgshop.com/Home/Manager?id=2&para=ASFDG [1]获取 完整url 代码如下: ...

  4. ISOMAP和MDS降维

    转载自https://blog.csdn.net/victoriaw/article/details/78497316 核心:测地线距离(dijstra最短路径获得).MDS降维 Isomap(Iso ...

  5. [ffmpeg] 解码API

    版本迭代 ffmpeg解码API经过了好几个版本的迭代,上一个版本的API是 解码视频:avcodec_decode_video2 解码音频:avcodec_decode_audio4 我们现在能看到 ...

  6. Mint-UI Picker 三级联动

    Mint-UI Picker组件的三级联动 HTML: <mt-picker :slots="slots" value-key="name" @chang ...

  7. JSON.stringify的三个参数(转载)

    前段时间勾股有提到stringify是支持三个参数,刷新的了我的认知,后来查到文档才发现还真的是支持三个参数的. 参考资料: stringify stringify方法顾名思义,就是把JSON序列换, ...

  8. 第四届 CCCC 团体程序设计天梯赛 游记

    我们可能是唯一一个去参加这个比赛的中学生吧(划掉) DAY -inf 一天教练给我们说有这么个比赛,要选人,于是就愉快的开展了一次打字比赛 说实话手真的要抽筋了 不过最后还好涉险过关 DAY -1 疯 ...

  9. 清理Windows Serer Backup备份数据生成的卷影副本(DiskShadow命令)

    DiskShadow基本命令: 1.进入DiskShadow命令行: C:\>diskshadow 2.列出所有的卷影副本: DISKSHADOW> list shadows all 3. ...

  10. 年月日时分秒毫秒+随机数getSerialNum

    package com.creditharmony.apporveadapter.core.utils; import java.io.ByteArrayInputStream; import jav ...