微信小程序开发笔记二

框架

App()

App()函数用来注册一个小程序。接受一个object参数,指定小程序的生命周期函数等

      
      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
      
      
App({
onLaunch: function() {
// Do something initial when launch.
},
onShow: function() {
// Do something when show.
},
onHide: function() {
// Do something when hide.
},
onError: function(msg) {
console.log(msg)
},
globalData: 'I am global data'
})

getApp()

全局的getApp()函数,可以获得小程序实例

注意:
  • App() 必须在 app.js 中注册,且不能注册多个。

  • 不要在定义于 App() 内的函数中调用 getApp() ,使用 this 就可以拿到 app 实例。

  • 不要在 onLaunch 的时候调用 getCurrentPage(),此时 page 还没有生成。

  • 通过 getApp() 获取实例之后,不要私自调用生命周期函数。

Page

Page()函数用来注册一个页面。接受一个object参数,其指定页面的初始数据、生命周期函数、事件处理函数等

      
      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
      
      
//index.js
Page({
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.
},
onShareAppMessage: function () {
// return custom share data when user share.
},
// Event handler.
viewTap: function() {
this.setData({
text: 'Set some data for updating view.'
})
},
customData: {
hi: 'MINA'
}
})

绑定数据

初始化数据将作为页面的第一次渲染。data 将会以 JSON 的形式由逻辑层传至渲染层,所以其数据必须是可以转成 JSON 的格式:字符串,数字,布尔值,对象,数组。

渲染层可以通过 WXML 对数据进行绑定。

示例代码:

扫描二维码关注公众号,回复: 7487923 查看本文章
      
      
1
2
3
4
5
6
7
8
      
      
<view>{{text}}</view>
<view>{{array[0].msg}}</view>
Page({
data: {
text: 'init data',
array: [{msg: '1'}, {msg: '2'}]
}
})

事件处理函数

除了初始化数据和生命周期函数,Page 中还可以定义一些特殊的函数:事件处理函数。在渲染层可以在组件中加入事件绑定,当达到触发事件时,就会执行 Page 中定义的事件处理函数。

示例代码:

      
      
1
2
3
4
5
6
      
      
<view bindtap="viewTap"> click me </view>
Page({
viewTap: function() {
console.log('view tap')
}
})

猜你喜欢

转载自www.cnblogs.com/sanxiandoupi/p/11693015.html