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

小程序模板網

navigator 跳轉url傳遞參數,bindtap等事件傳參

發布時間:2018-04-14 14:23 所屬欄目:小程序開發教程

作者:向朔1992,來自原文地址

 

一:navigator 跳轉url傳遞參數

使用方法說明

(1)傳值:在navigator的屬性url后拼接?id(參數名字)=要傳遞的值 (如果多個參數用&分開 &name=value&…….)

(2)取值:options 是包含url地址中參數的對象,可以直接 點 獲取。

擴展

JS獲取web頁面地址欄中的參數。

 

  1. https://www.google.co.jp/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=%E5%8D%8E%E4%BC%81&*
 

  1. //獲取地址欄中的參數
  2. function GetQueryString(name) {
  3. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
  4. var r = window.location.search.substr(1).match(reg);
  5.  
  6. if (r != null) {
  7. return unescape(r[2]);
  8. }
  9. return null;
  10. }
  11.  
  12. GetQueryString('sourceid')//chrome-instant

二:bindtap等事件傳參  什么是事件

事件是視圖層到邏輯層的通訊方式。 事件可以將用戶的行為反饋到邏輯層進行處理。  事件可以綁定在組件上,當達到觸發事件,就會執行邏輯層中對應的事件處理函數。  事件對象可以攜帶額外信息,如 id, dataset, touches。

看圖,因為需要傳遞的數據比較多,所以我們通過dataset攜帶參數信息。如果只有一個參數,可以通過id來傳遞。

詳解(以常見的tap點擊事情為例)

wxml

 

  1. <view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>

JS

 

  1. Page({
  2. tapName: function(event) {
  3. console.log(event)
  4. }
  5. })

event 打印結果

 

  1. {
  2. "type":"tap",
  3. "timeStamp":895,
  4. /////////////////////////////////
  5. "target": {
  6. "id": "tapTest",
  7. "dataset": {
  8. "hi":"WeChat"
  9. }
  10. },
  11. "currentTarget": {
  12. "id": "tapTest",
  13. "dataset": {
  14. "hi":"WeChat"
  15. }
  16. },
  17. ///////////////////////////////
  18. "detail": {
  19. "x":53,
  20. "y":14
  21. },
  22. "touches":[{
  23. "identifier":0,
  24. "pageX":53,
  25. "pageY":14,
  26. "clientX":53,
  27. "clientY":14
  28. }],
  29. "changedTouches":[{
  30. "identifier":0,
  31. "pageX":53,
  32. "pageY":14,
  33. "clientX":53,
  34. "clientY":14
  35. }]
  36. }

注意兩點:

1、data-名稱 不能有大寫字母,如果需要,可以通過 - (中劃線)來連接單詞,編譯的時候小程序會將第二個單詞首字母自動大寫。圖中代碼是為了自己標志,所以第二個單詞的首字母大寫了,其實可以不用。data-* 屬性中不可以存放對象。

2、注意打印結果中target和currentTarget的區別。

target 觸發事件的源組件。  currentTarget 事件綁定的當前組件。

如果你在父容器上綁定了事件并傳參,當你點擊父容器時,事件綁定的組件和觸發事件的源組件是同一個元素,所以currentTarget 、target 都可以拿到參數,但是當你點擊子元素時,target 就不是事件綁定的組件了,所以拿不到參數。  由于事件冒泡的機制,父容器上綁定的事件依然可以觸發,所以currentTarget 依然可以拿到參數。

說明

id傳參和dataset類似,只是最后獲取值的時候不同。event.currentTarget.id



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