mina:running_environment
差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
| mina:running_environment [2020/08/24 12:58] – [2.1 注册小程序] sabertoy | mina:running_environment [2020/08/25 23:32] (当前版本) – [3.4 代码案例] sabertoy | ||
|---|---|---|---|
| 行 8: | 行 8: | ||
| 框架的核心是一个响应的数据绑定系统,可以让数据与视图非常简单地保持同步。当做数据修改的时候,< | 框架的核心是一个响应的数据绑定系统,可以让数据与视图非常简单地保持同步。当做数据修改的时候,< | ||
| - | ===== -#2 程序 ===== | + | ===== -#2 程序 |
| 1.微信客户端在打开小程序之前,会把整个小程序的代码包下载到本地。 | 1.微信客户端在打开小程序之前,会把整个小程序的代码包下载到本地。 | ||
| 行 66: | 行 66: | ||
| </ | </ | ||
| - | ==== - 注册小程序 | + | ==== - 注册页面 |
| + | |||
| + | 简单的页面可以使用 Page() 进行构造。 | ||
| + | |||
| + | <code javascript> | ||
| + | // | ||
| + | Page({ | ||
| + | data: { | ||
| + | text: "This is page data." | ||
| + | }, | ||
| + | onLoad: function(options) { | ||
| + | // 页面创建时执行 | ||
| + | }, | ||
| + | onShow: function() { | ||
| + | // 页面出现在前台时执行 | ||
| + | }, | ||
| + | onReady: function() { | ||
| + | // 页面首次渲染完毕时执行 | ||
| + | }, | ||
| + | onHide: function() { | ||
| + | // 页面从前台变为后台时执行 | ||
| + | }, | ||
| + | onUnload: function() { | ||
| + | // 页面销毁时执行 | ||
| + | }, | ||
| + | onPullDownRefresh: | ||
| + | // 触发下拉刷新时执行 | ||
| + | }, | ||
| + | onReachBottom: | ||
| + | // 页面触底时执行 | ||
| + | }, | ||
| + | onShareAppMessage: | ||
| + | // 页面被用户分享时执行 | ||
| + | }, | ||
| + | onPageScroll: | ||
| + | // 页面滚动时执行 | ||
| + | }, | ||
| + | onResize: function() { | ||
| + | // 页面尺寸变化时执行 | ||
| + | }, | ||
| + | onTabItemTap(item) { | ||
| + | // tab 点击时执行 | ||
| + | console.log(item.index) | ||
| + | console.log(item.pagePath) | ||
| + | console.log(item.text) | ||
| + | }, | ||
| + | // 事件响应函数 | ||
| + | viewTap: function() { | ||
| + | this.setData({ | ||
| + | text: 'Set some data for updating view.' | ||
| + | }, function() { | ||
| + | // this is setData callback | ||
| + | }) | ||
| + | }, | ||
| + | // 自由数据 | ||
| + | customData: { | ||
| + | hi: ' | ||
| + | } | ||
| + | }) | ||
| + | </ | ||
| + | |||
| + | | ||
| + | |||
| + | ==== - 生命周期 ==== | ||
| + | |||
| + | ==== - 页面路由 ==== | ||
| + | |||
| + | 框架以< | ||
| + | |||
| + | ==== - 模块化 ==== | ||
| + | |||
| + | 可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块。模块只有通过 module.exports 或者 exports 才能对外暴露接口。 | ||
| + | |||
| + | | ||
| + | |||
| + | <code javascript> | ||
| + | // common.js | ||
| + | function sayHello(name) { | ||
| + | console.log(`Hello ${name} !`) | ||
| + | } | ||
| + | function sayGoodbye(name) { | ||
| + | console.log(`Goodbye ${name} !`) | ||
| + | } | ||
| + | |||
| + | module.exports.sayHello = sayHello | ||
| + | exports.sayGoodbye = sayGoodbye | ||
| + | </ | ||
| + | |||
| + | 在需要使用这些模块的文件中,使用 require 将公共代码引入 | ||
| + | |||
| + | <code javascript> | ||
| + | var common = require(' | ||
| + | Page({ | ||
| + | helloMINA: function() { | ||
| + | common.sayHello(' | ||
| + | }, | ||
| + | goodbyeMINA: | ||
| + | common.sayGoodbye(' | ||
| + | } | ||
| + | }) | ||
| + | </ | ||
| + | |||
| + | ==== - API ==== | ||
| + | |||
| + | [[mina: | ||
| + | |||
| + | 要获取用户的地理位置时,只需要: | ||
| + | |||
| + | <code javascript> | ||
| + | wx.getLocation({ | ||
| + | type: ' | ||
| + | success: (res) => { | ||
| + | var latitude = res.latitude // 纬度 | ||
| + | var longitude = res.longitude // 经度 | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | 调用微信扫一扫能力,只需要: | ||
| + | |||
| + | <code javascript> | ||
| + | wx.scanCode({ | ||
| + | success: (res) => { | ||
| + | console.log(res) | ||
| + | } | ||
| + | }) | ||
| + | </ | ||
| + | |||
| + | <wrap hi> | ||
| + | [[https:// | ||
| + | |||
| + | 1.我们约定,以 on 开头的 API 用来监听某个事件是否触发 \\ | ||
| + | |||
| + | 这类 API 接受一个< | ||
| + | |||
| + | <code javascript> | ||
| + | wx.onCompassChange(function (res) { | ||
| + | console.log(res.direction) | ||
| + | }) | ||
| + | </ | ||
| + | |||
| + | 2.我们约定,以 Sync 结尾的 API 都是同步 API \\ | ||
| + | 3.大多数 API 都是异步 API,如 wx.request,wx.login 等。这类 API 接口通常都接受一个 Object 类型的参数 | ||
| - | ===== -#3 页面 ===== | + | ===== -#3 页面 |
| 一个小程序页面由四个文件组成 \\ | 一个小程序页面由四个文件组成 \\ | ||
| 行 91: | 行 233: | ||
| 在渲染完界面之后,页面实例就会收到一个 onLoad 的回调,你可以在这个回调处理你的逻辑。 \\ | 在渲染完界面之后,页面实例就会收到一个 onLoad 的回调,你可以在这个回调处理你的逻辑。 \\ | ||
| - | [[https:// | + | [[https:// |
| - | ===== -#4 组件 ===== | + | ==== - wxml 页面结构 ==== |
| + | |||
| + | WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出< | ||
| + | |||
| + | | ||
| + | | ||
| + | |||
| + | === - 模板 === | ||
| + | |||
| + | <code xml> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | FirstName: {{firstName}}, | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | <code javascript> | ||
| + | // page.js | ||
| + | Page({ | ||
| + | data: { | ||
| + | staffA: {firstName: ' | ||
| + | staffB: {firstName: ' | ||
| + | staffC: {firstName: ' | ||
| + | } | ||
| + | }) | ||
| + | </ | ||
| + | |||
| + | ==== - WXSS ==== | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ==== - 组件 | ||
| [[https:// | [[https:// | ||
| - | ==== - 什么是组件 | + | === - 什么是组件 === |
| * 组件是视图层的基本组成单元。 | * 组件是视图层的基本组成单元。 | ||
| 行 109: | 行 291: | ||
| </ | </ | ||
| - | ==== - 代码案例 | + | === - 代码案例 === |
| 例如,你需要在界面上显示地图,你只需要这样写即可:\\ | 例如,你需要在界面上显示地图,你只需要这样写即可:\\ | ||
| 行 130: | 行 312: | ||
| - | ===== - API ===== | ||
| - | 要获取用户的地理位置时,只需要: | ||
| - | |||
| - | <code javascript> | ||
| - | wx.getLocation({ | ||
| - | type: ' | ||
| - | success: (res) => { | ||
| - | var latitude = res.latitude // 纬度 | ||
| - | var longitude = res.longitude // 经度 | ||
| - | } | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | 调用微信扫一扫能力,只需要: | ||
| - | |||
| - | <code javascript> | ||
| - | wx.scanCode({ | ||
| - | success: (res) => { | ||
| - | console.log(res) | ||
| - | } | ||
| - | }) | ||
| - | </ | ||
| - | |||
| - | <wrap hi> | ||
| - | [[https:// | ||
| - | |||
| - | 1.我们约定,以 on 开头的 API 用来监听某个事件是否触发 \\ | ||
| - | |||
| - | 这类 API 接受一个< | ||
| - | |||
| - | <code javascript> | ||
| - | wx.onCompassChange(function (res) { | ||
| - | console.log(res.direction) | ||
| - | }) | ||
| - | </ | ||
| - | |||
| - | 2.我们约定,以 Sync 结尾的 API 都是同步 API \\ | ||
| - | 3.大多数 API 都是异步 API,如 wx.request,wx.login 等。这类 API 接口通常都接受一个 Object 类型的参数 | ||
mina/running_environment.1598245088.txt.gz · 最后更改: 2020/08/24 12:58 由 sabertoy
