首页 » 微信公众平台开发:从零基础到ThinkPHP5高性能框架实践 » 微信公众平台开发:从零基础到ThinkPHP5高性能框架实践全文在线阅读

《微信公众平台开发:从零基础到ThinkPHP5高性能框架实践》21.2.3 逻辑层

关灯直达底部

小程序开发框架的逻辑层是由JavaScript编写的。逻辑层将数据进行处理后发送给视图层,同时接收视图层的事件反馈。

1.注册程序

App函数用来注册一个小程序。它接收一个object参数,其指定小程序的生命周期函数等。App注册程序的定义及成员函数实现示例如下。


App({    onLaunch: function {         // Do something initial when launch.    },    onShow: function {        // Do something when show.    },    onHide: function {        // Do something when hide.    },    globalData: 'I am global data'})  

成员函数属性描述如表21-7所示。

表21-7 App成员函数属性说明

2.注册页面

Page函数用来注册一个页面。它接收一个object参数,其指定页面的初始数据、生命周期函数、事件处理函数等。Page函数的定义及成员函数实现示例如下。


// index.jsPage({    data: {        text: "This is page data."    },    onLoad: function(options) {        // Do some initialize when page load.    },    onReady: function {        // Do something when page ready.    },    onShow: function {        // Do something when page show.    },    onHide: function {        // Do something when page hide.    },    onUnload: function {        // Do something when page close.    },    onPullDownRefresh: function {        // Do something when pull down.    },    onReachBottom: function {        // Do something when page reach bottom.    },    // Event handler.    viewTap: function {        this.setData({            text: 'Set some data for updating view.'        })    },    customData: {        hi: 'MINA'    }})  

成员函数属性描述如表21-8所示。

表21-8 Page成员函数属性说明

3.模块化

对于一些公共的代码,可以将其抽离成为一个单独的JS文件,作为一个模块。模块只有通过module.exports或者exports才能对外暴露接口。例如下述JS文件。


// common.jsfunction sayHello(name) {    console.log('Hello ${name} !')}function sayGoodbye(name) {    console.log('Goodbye ${name} !')}module.exports.sayHello = sayHelloexports.sayGoodbye = sayGoodbye  

在需要使用这些模块的文件中,使用require(path)将公共代码引入,示例代码如下。


var common = require('common.js')Page({    helloMINA: function {        common.sayHello('MINA')    },    goodbyeMINA: function {        common.sayGoodbye('MINA')    }})