小程序动态网页模板
全局js
app.js
:
- App() 必须在 app.js 中调用,必须调用且只能调用一次。
- 调用全局生命周期函数
- 全局模块共享数据,属性或方法可以提供给所有的页面使用。
App({
onLaunch (options) {
// Do something initial when launch.
},
onShow (options) {
// Do something when show.
},
// 定义在这里的属性方法或方法可以被全局访问
globalData: 'I am global data', // 全局属性
name: '小明',
sayHi: function(){ // 全局方法
console.log('你好' + this.name);
}
})
getApp 获取到小程序全局唯一的 App
实例
示例代码
:
// 页面js
// getApp 是小程序内置提供的函数,用于获取全局应用 app 实例
const app = getApp();
Page({
data: {
// 全局实例中定义的 globalData 属性
global: app.globalData
},
onLoad: function () {
// 全局实例中定义的 sayHi 方法
app.sayHi();
}
})
注意:
- 通过
getApp()
获取实例之后,不要私自调用生命周期函数。 - 不要在定义
App()
的函数中,或调用App
前调用getApp()
,使用this
就可以拿到 app 实例。
页面js
page.js
:
- 注册小程序中的一个页面。接受一个 Object 类型参数,其指定页面的初始data数据用于填充页面模板、页面生命周期函数回调、事件处理函数等。
Page({
data: {
text: "This is page data."
},
onLoad: function(options) {
// Do some initialize when page load.
},
// 监听用户下拉动作
onPullDownRefresh: function() {
// Do something when pull down.
},
// 当前是 tab 页时,点击 tab 时触发
onTabItemTap(item) {
console.log(item.index)
console.log(item.pagePath)
console.log(item.text)
},
// Event handler.
viewTap: function() {
this.setData({
text: 'Set some data for updating view.'
}, function() {
// this is setData callback
})
},
customData: {
hi: 'MINA'
}
})