国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

微信小程序 教程之注冊頁面

2019-11-20 08:43:46
字體:
來源:轉載
供稿:網友

系列文章:

微信小程序 教程之模塊化

微信小程序 教程之注冊頁面

微信小程序 教程之注冊程序

微信小程序――Page

Page()函數用來注冊一個頁面。接受一個object參數,其指定頁面的初始數據、生命周期函數、事件處理函數等。

object參數說明:

屬性 類型 描述
data Object 頁面的初始數據
onLoad Function 生命周期函數--監聽頁面加載
onReady Function 生命周期函數--監聽頁面渲染完成
onShow Function 生命周期函數--監聽頁面顯示
onHide Function 生命周期函數--監聽頁面隱藏
onUnload Function 生命周期函數--監聽頁面卸載
其他 Any 開發者可以添加任意的函數或數據到Object參數中,用this可以訪問

示例代碼:

//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. }, // Event handler. viewTap: function() { this.setData({  text: 'Set some data for updating view.' }) }})

初始化數據

初始化數據將作為頁面的第一次渲染。data將會以JSON的形式由邏輯層傳至渲染層,所以其數據必須是可以轉成JSON的格式:字符串,數字,布爾值,對象,數組。

渲染層可以通過WXML對數據進行綁定。

示例代碼:

<view>{{text}}</view><view>{{array[0].msg}}</view>
Page({ data: { text: 'init data', array: [{msg: '1'}, {msg: '2'}] }})

事件處理函數

​ 除了初始化數據和生命周期函數,Page中還可以定義一些特殊的函數:事件處理函數。在渲染層可以在組件中加入事件綁定,當達到觸發事件時,就會執行Page中定義的事件處理函數。

示例代碼:

<view bindtap="viewTap"> click me </view>

Page({ viewTap: function() { console.log('view tap') }})

Page.prototype.setData()

setData函數用于將數據從邏輯層發送到視圖層,同時改變對應的this.data的值。

注意:

直接修改this.data無效,無法改變頁面的狀態,還會造成數據不一致。
單次設置的數據不能超過1024kB,請盡量避免一次設置過多的數據。

setData()參數格式

接受一個對象,以key,value的形式表示將this.data中的key對應的值改變成value。
其中key可以非常靈活,以數據路徑的形式給出,如array[2].message,a.b.c.d,并且不需要在this.data中預先定義。

示例代碼:

<!--index.wxml--><view>{{text}}</view><button bindtap="changeText"> Change normal data </button><view>{{array[0].text}}</view><button bindtap="changeItemInArray"> Change Array data </button><view>{{obj.text}}</view><button bindtap="changeItemInObject"> Change Object data </button><view>{{newField.text}}</view><button bindtap="addNewField"> Add new data </button>
//index.jsPage({ data: { text: 'init data', array: [{text: 'init data'}], object: {  text: 'init data' } }, changeText: function() { // this.data.text = 'changed data' // bad, it can not work this.setData({  text: 'changed data' }) }, changeItemInArray: function() { // you can use this way to modify a danamic data path var changedData = {} var index = 0 changedData['array[' + index + '].text'] = 'changed data' this.setData(changedData) }, changeItemInObject: function(){ this.setData({  'object.text': 'changed data' }); }, addNewField: function() { this.setData({  'newField.text': 'new data' }) }})

以下內容你不需要立馬完全弄明白,不過以后它會有幫助。

生命周期函數

下圖說明了Page實例的生命周期。

頁面的路由

在小程序中所有頁面的路由全部由框架進行管理,對于路由的觸發方式以及頁面生命周期函數如下:

路由方式 觸發時機 路由后頁面 路由前頁面
初始化 小程序打開的第一個頁面 onLoad,onShow  
打開新頁面 調用 API wx.navigateTo或使用組件 <navigator /> onLoad,onShow onHide
頁面重定向 調用 API wx.redirectTo或使用組件 <navigator /> onLoad,onShow onUnload
頁面返回 調用 API wx.navigateBack或用戶按左上角返回按鈕 onShow onUnload
Tab切換 多 Tab 模式下用戶切換 Tab 第一次打開 onLoad,onshow;否則 onShow onHide

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 漳州市| 永济市| 元谋县| 西平县| 衡山县| 兰州市| 平江县| 嘉荫县| 谢通门县| 玉山县| 和顺县| 项城市| 雅江县| 井冈山市| 芦溪县| 汉阴县| 雅安市| 新化县| 格尔木市| 兴国县| 曲沃县| 东明县| 马关县| 莆田市| 太保市| 定远县| 揭西县| 互助| 阿拉善右旗| 新野县| 西林县| 乌拉特前旗| 卓资县| 龙游县| 高陵县| 浮山县| 无锡市| 云安县| 云霄县| 滁州市| 崇礼县|