网友真实露脸自拍10p,成人国产精品秘?久久久按摩,国产精品久久久久久无码不卡,成人免费区一区二区三区

小程序模板網

老胡--足球視頻小程序開發之頁面數據綁定及跳轉傳參

發布時間:2017-12-25 11:42 所屬欄目:小程序開發教程

在寫前面的小程序入門項目時,發現有兩個很常用而且覺得也算比較重要的知識點,這里記錄下:頁面數據綁定比如你的頁面需要顯示一個Hello字符串,這個這個字符串可能會根據某些情況會動態變化,這個時候就需要進行數 ...

 
 
 

在寫前面的小程序入門項目時,發現有兩個很常用而且覺得也算比較重要的知識點,這里記錄下:

頁面數據綁定

比如你的頁面需要顯示一個Hello字符串,這個這個字符串可能會根據某些情況會動態變化,這個時候就需要進行數據綁定展示了

在wxml文件布局如下:


							
1

							
<view>{{message}}</view>

 

在js中設置好變量如下:


							
1
2
3
4
5
6

							
Page({
data: {
message: "Hello",
number: 1
}
});

就這樣data里面的message屬性就可以通過view組件展示出來了,看了上面的寫法,也很容易明白,組件展示數據信息時是通過


							
1

							
{{屬性名稱}}

 

這的寫法與data里面的屬性進行綁定的。

如果在數據信息展示出來后,后面要更新這個屬性信息的展示的話,就不能簡單的通過this.data.message="Hello World"來實現,因為這樣是無法達到改變數據信息的目的的。小程序中改變數據信息要求使用函數setData()函數來實現。例如上面我們修改message`的值的話需要進行如下操作:


							
1
2
3

							
this.setData({
message: "Hello World"
});

通過該函數更新之后,頁面上會自動的更新展示,而不需要我們去進行額外的操作,微信將數據的展示與更新進行了分離,只要你使用特定的方法修改屬性值,界面就會自動更新,這樣的實方式比起android中的手動通知更新要方便很多

頁面跳轉參數

小程序中從一個頁面跳轉到另外一個頁面有幾種方式,這里我以wx.navigateTo()跳轉進行說明: 我從index頁面跳轉到logs頁面,很簡單


							
1
2
3

							
wx.navigateTo({
url: '../log/logs
})

那如果我在跳轉的同時要向logs頁面傳遞參數該怎么辦呢,也很簡單,直接在url后拼接相關參數即可(與http中的get請求的傳參方式是一樣的)


							
1
2
3

							
wx.navigateTo({
url: '../video/video?message=' + this.data.message + "&number=" + this.data.number
})

參數是傳過去了,那在logs頁面中該如何獲取這些參數呢?其實也很簡單:


							
1
2
3
4

							
onLoad: function (options) {
var message = options.message;
var number = options.number;
}

如上所示,我們在新頁面的onLoad函數中就可以直接獲取到傳遞過來的參數信息。

點擊View傳參

在我前面的文章 微信小程序之入門項目中點擊視頻列表中的某一項跳轉到視頻播放頁面,而在點擊列表中的某一項時,需要獲取當前項的數據信息,如果我想通過點擊事件就將這些數據信息作為參數傳遞過去該怎么做呢?代碼如下:


							
1

							
<view wx:for="{{tab.videos}}" wx:for-item="video" data-video="{{video}}" wx:key="*this" bindtap="onItemClick">

上面的代碼通過for循環實現了一個列表,并為每一項綁定了點擊事件,而view組件實現中有一個屬性是微信沒有提供的:data-video,這個屬性是我們手動添加上去的,微信中如果要在wxml中傳遞參數到點擊事件中的話則可以通過data-**的形式進行傳參(**號即為參數名稱),此處是將每一項數據video作為參數進行傳遞,同時參數名稱為video

接下來再來看看點擊事件中如何獲取該video信息:


							
1
2
3
4
5

							
onItemClick: function (event) {
var video = event.currentTarget.dataset.video;
var url = video.url;
var title = video.title;
}

沒錯,就像代碼中寫的,在點擊事件中我們可以通過event.currentTarget.dataset獲取傳過來的video信息,這個參數在調試的時候也是可以通過event對象看到的



易優小程序(企業版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.xiuhaier.com/wxmini/doc/course/18245.html 復制鏈接 如需定制請聯系易優客服咨詢:800182392 點擊咨詢
QQ在線咨詢
AI智能客服 ×