【微信小程序】基础框架

1.页面 对于小程序中的每个页面,都需要在页面对应的 js 文件中进行注册,指定页面的初始数据、生命周期回调、事件处理函数等。可通过两种方式注册页面:
(1)使用 Page 构造器注册页面

Page({ data: { text: "This is page data." }, onLoad: function(options) { // 页面创建时执行 }, onShow: function() { // 页面出现在前台时执行 }, onReady: function() { // 页面首次渲染完毕时执行 }, onHide: function() { // 页面从前台变为后台时执行 }, onShareAppMessage: function () { // 页面被用户分享时执行 }, onPageScroll: function() { // 页面滚动时执行 }, // 自由数据 customData: { hi: 'MINA' } })

(2)使用 Component 构造器构造页面
Component 构造器的主要区别是:方法需要放在 methods: { } 里面。页面也可以是组件。
Page({ data: { text: "This is page data." }, methods: { onLoad: function(options) { // 页面创建时执行 }, onPullDownRefresh: function() { // 下拉刷新时执行 }, // 事件响应函数 viewTap: function() { // ... } } })

这种创建方式非常类似于自定义组件,可以像自定义组件一样使用 behaviors 等高级特性。
2. 微信原生 API接口 小程序 API 有以下几种类型:
(1)事件监听 API
on 开头的 API 用来监听某个事件是否触发,如:wx.onSocketOpend等。这类 API 接受一个回调函数作为参数,当事件触发时会调用这个回调函数,并将相关数据以参数形式传入。
wx.onCompassChange(function (res) { console.log(res.direction) })

(2)异步API
大多数 API 都是异步 API,如 wx.request,wx.login 等。这类 API 接口通常都接受一个 Object 类型的参数,此参数主要有success、fail、complete(调用接口结束)回调函数。
wx.login({ success(res) { console.log(res.code) } })

一般情况是通过箭头函数获取数据接口中的数据,比如获取屏幕高度:
getWindowHeight() { wx.getSystemInfo({ success: (res) => { this.windowHeight = res.windowHeight } }) }

(3)同步 API
3.关于数据 (1)页面数据处理
  • data 是页面第一次渲染使用的初始数据,页面加载时,data 将会以JSON字符串的形式由逻辑层传至渲染层,因此data中的数据必须是可以转成JSON的类型:字符串,数字,布尔值,对象,数组。
Page({ //设置 data 的初始值 data: { text: 'Hello world!', } })

  • data的赋值和取值
    data 内的变量赋值,可以通过 setData 给他进行设置,setData 函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步)直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致。
//在页面加载完成后来一个赋值和取值的操作 onLoad: function (options) { let that = this; that.setData({ text: 'Happy Day!',//赋值 }) console.log(that.data.text); //取值 },

4.页面加载 【【微信小程序】基础框架】浏览器加载页面时,只把当前页面的html,css,js等相关文件加载,而小程序在进入之后把项目中所有文件加载,并不是按页面需要加载。因此小程序中如果不同页面引用公共js文件时,js文件中公共变量是页面共享的。

    推荐阅读