博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
启动页html源码,启动页面
阅读量:5976 次
发布时间:2019-06-20

本文共 2822 字,大约阅读时间需要 9 分钟。

page(params) 是进入某个页面的时候会执行的页面入口函数,params 是一个 object 类型的参数,定义了页面初始数据,生命周期钩子函数,事件处理函数等。

params 参数说明:属性类型描述dataObject页面的初始数据

onLoadFunction生命周期函数--监听页面加载

onReadyFunction生命周期函数--监听页面初次渲染完成

onShowFunction生命周期函数--监听页面显示

onHideFunction生命周期函数--监听页面隐藏

onUnloadFunction生命周期函数--监听页面卸载

onPullDownRefreshFunction页面相关事件处理函数--监听用户下拉动作

onReachBottomFunction页面上拉触底事件的处理函数

onShareAppMessageFunction用户点击右上角转发

onPageScrollFunction页面滚动触发事件的处理函数

其他Any开发者可以添加任意的函数或数据到 object 参数中,在页面的函数中用 this 可以访问如果不注册 onShareAppMessage,会默认隐藏右上角胶囊按钮菜单里的分享按钮

示例代码:// 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.

},

onPageScroll: function() {

// Do something when page scroll

},

// Event handler.

viewTap: function() {

this.setData(

{

text: "Set some data for updating view."

},

function() {

// this is setData callback

}

);

},

customData: {

foo: "bar"

}

});

启动参数

onLoad生命周期函数会接受到当前页面打开时设置的query参数。比如// 页面url是'page/index/index?a=1&key=value'

...

onLoad: functions (options) {

console.log(options) // {a: '1', key: 'value'}

}

页面首次渲染

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

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

示例代码:

{

{text}}

{

{array[0].msg}}// index.js

Page({

data: {

text: "init data",

array: [{ msg: "1" }, { msg: "2" }]

}

});

页面事件处理

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

示例代码:

click me

// index.js

Page({

viewTap: function() {

console.log("view tap");

}

});

更新页面渲染 setData()字段类型必填描述dataObject是这次要改变的数据

callbackFunction否回调函数

参数 data 以 key,value 的形式表示将 this.data 中的 key 对应的值改变成 value。 callback 是一个回调函数,在这次 setData 对界面渲染完毕后调用。

示例代码:

{

{text}}

Change normal data

{

{num}}

Change normal num

{

{array[0].text}}

Change Array data

{

{object.text}}

Change Object data

{

{newField.text}}

Add new data//index.js

Page({

data: {

text: "init data",

num: 0,

array: [{ text: "init data" }],

object: {

text: "init data"

}

},

changeText: function() {

// this.data.text = 'changed data' // 这样无法更新UI

this.setData({

text: "changed data"

});

},

changeNum: function() {

this.data.num = 1;

this.setData({

num: this.data.num

});

},

changeItemInArray: function() {

this.setData({

"array[0].text": "changed data"

});

},

changeItemInObject: function() {

this.setData({

"object.text": "changed data"

});

},

addNewField: function() {

this.setData({

"newField.text": "new data"

});

}

});

转载地址:http://lmiox.baihongyu.com/

你可能感兴趣的文章
Centos下基于Hadoop安装Spark(分布式)
查看>>
mysql开启binlog
查看>>
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>
并查集hdu1232
查看>>
Mysql 监视工具
查看>>
Linux Namespace系列(09):利用Namespace创建一个简单可用的容器
查看>>
博客搬家了
查看>>
Python中使用ElementTree解析xml
查看>>
linux的日志服务器关于屏蔽一些关键字的方法
查看>>
mysql多实例实例化数据库
查看>>
javascript 操作DOM元素样式
查看>>
HBase 笔记3
查看>>
【Linux】Linux 在线安装yum
查看>>
Atom 编辑器系列视频课程
查看>>
[原][osgearth]osgearthviewer读取earth文件,代码解析(earth文件读取的一帧)
查看>>
mybatis update返回值的意义
查看>>
expdp 详解及实例
查看>>
通过IP判断登录地址
查看>>
深入浅出JavaScript (五) 详解Document.write()方法
查看>>