微信小程式實現頁面跳轉傳值以及獲取值的方法分析
本文例項講述了微信小程式實現頁面跳轉傳值以及獲取值的方法。分享給大家供大家參考,具體如下:
在安卓中頁面跳轉傳值都是通過bundle,現在研究一下小程式的列表跳轉及頁面傳值。
my.wxml
<view class="container"> <view bindtap="bindViewTap" class="userinfo"> <image class="userinfo-avatar" src="{{userInfo.avatarUrl}}" background-size="cover"></image> <text class="userinfo-nickname">{{userInfo.nickName}}</text> </view> <view class="info_list"> <block wx:for="{{userListInfo}}" > <view class="weui_cell" data-index="{{item.index}}" id="{{item.index}}" bindtap="userinfo_item"> <view class="weui_cell_hd"> <image src="{{item.icon}}"></image> </view> <view class="weui_cell_bd"> <view class="weui_cell_bd_p"> {{item.text}} </view> </view> <view wx:if="{{item.isunread}}" class="badge">{{item.unreadNum}}</view> <view class="with_arrow"></view> </view> </block> </view> </view>
my.js
var app = getApp() Page({ data: { userInfo: {}, userListInfo: [{ icon: '../../images/iconfont-dingdan.png', text: '我的訂單', isunread: true, unreadNum: 2, index:1 }, { icon: '../../images/iconfont-kefu.png', text: '聯絡客服', index: 5 }, { icon: '../../images/iconfont-help.png', text: '常見問題', index: 6 }] }, onLoad: function () { var that = this //呼叫應用例項的方法獲取全域性資料 app.getUserInfo(function (userInfo) { //更新資料 that.setData({ userInfo: userInfo }) }) }, userinfo_item: function (e) { var index = e.target.dataset.index; console.log("----index----" + index) console.log('-----id-----' + e.currentTarget.id) var app = getApp(); //設定全域性的請求訪問傳遞的引數 app.requestId = e.currentTarget.id; app.requestIndex = index; } })
微信小程式設定id的方法標識來傳值
在要跳轉的item處,設定一個id並給當前的id賦值上對應的key值,
如 id="{{item.index}}"
後我們在js的bindtap的響應事件中獲取,並傳遞到下一個介面中;
獲取到id傳的值
通過e.currentTarget.id;
獲取設定的id值,並通過設定全域性物件的方式來傳遞數值,
獲取全域性物件 var app=getApp();
//設定全域性的請求訪問傳遞的引數 app.requestDetailid=id;
在除錯模式下:我們也可以在,wxml中檢視到我們設定的每一個item的id值
通過使用data - xxxx 的方法標識來傳值
通過使用data - xxxx 的方法標識來傳值,xxxx可以自定義取名 比my.wxml中的data-index。
如何獲取data-xxxx傳遞的值?
在js的bindtap的響應事件中:
通過資料解析一層層找到資料,var id=e.target.dataset.index
如js中的兩個列印就是通過兩種不同方式獲得的id。
微信小程式如何跨頁面獲取值
依據上面的方式設定要傳遞的值,頁面跳轉後,我們就需要在下一個頁面拿到傳遞的資料(這個資料在傳遞前,就已經被設定成全域性變數)相當於給全域性變數添加了新的key,value
在跳轉後的js頁面,接收傳遞過來的資料detail.js
同樣通過全域性額方式取值出來,(即和app.js中取某個變數的值是一樣的)
var id=getApp().requestId; var index=getApp().requestIndex; console.log(id); console.log(index);
通過連結傳參:
wx.navigateTo({ url: '/pages/account/feedback/feedback?test=feedback_test&name=jia', success: function(res) {}, fail: function(res) {}, complete: function(res) {}, })
點選頁面跳轉時通過?方式傳參。在跳轉後的頁面JS中做如下接收:
onLoad: function (e) { var movieid = getApp().requestId; var movieIndex = getApp().requestIndex; console.log("-----feedback--movieid--" + movieid +" " + movieIndex); console.log("-----feedback--test--" + e.test); console.log("-----feedback--name--" + e.name); },
感覺比較好的方法還是通過連結方式進行引數傳遞,第一種有些像安卓中進行頁面跳轉,把一些傳遞的引數寫到Application中,第二種是像通過bundle方式進行傳遞。前端小白總結,希望前端豐富的同學可以提供更多思路。
希望本文所述對大家微信小程式開發有所幫助。
原文連結:http://blog.csdn.net/jia635/article/details/73810079
相關推薦
微信小程式實現頁面跳轉傳值以及獲取值的方法分析
本文例項講述了微信小程式實現頁面跳轉傳值以及獲取值的方法。分享給大家供大家參考,具體如下:在安卓中頁面跳轉傳值都是通過bundle,現在研究一下小程式的列表跳轉及頁面傳值。my.wxml<view class="container"> <view bind
微信小程式(5)--頁面跳轉傳值(點選item傳值)
one頁面實現以下程式碼: 1,data-id="{{item.id}}"為標記列表的下標, item.id的來源與wx:for="{{ components }}"的列表渲染 bindtap="re
微信小程式--實現按鈕跳轉另一個頁面
首先建立一個按鈕 在 index.wxml頁面中建立一個容器作為按鈕 <view class='day-weather' bindtap='onTapDayWeather'> </
微信小程式--簡單頁面跳轉
微信小程式--簡單頁面跳轉 例如:點選一個text ,跳轉入一個新的頁面blueberry.wxml 首先對text 設定監聽事件 <view bindtap="toast" cla
微信小程式新頁面跳轉
在json配置路徑,會自動生成對應的css\js\json(例如:test.wxss\test.js\test.json) 頁面跳轉兩種方法 一種通過js,一種通過頁面 第一種:在要點選跳轉的標籤上加事件,3步, 如:1、要在點選文字上跳轉 <view
微信小程式之頁面跳轉、傳參
年前最後一天上班了,公司幾個人在上班,沒事做,還是來學習一下小程式吧。 本部落格說一下頁面跳轉,頁面跳轉又分為三種:跳轉新頁面,當前頁面跳轉及tab跳轉。 先來看看navigator相關屬性: 直接程式碼說話: 主頁面: <!--index
微信小程式 navigate頁面跳轉問題解決方案
最近在跟著別人做外包小程式,在跳轉的時候遇到很大的問題 ,由於微信小程式的navigateBack是不會重新整理原來頁面的,所以當我要做到如下邏輯時,感到十分困惑,同時覺得無法控制後退按鈕指向頁面這一設定十分不科學。 先來看看問題所在,例如我要實現如下頁面邏輯
微信小程式的頁面跳轉和引數傳遞,頁面生命週期
頁面的生命週期函式如下: Page({ data:{ }, onLoad:function(options){ // 生命週期函式--監聽頁面載入 console.log("---index page onLoad---") },
微信小程式-navigator頁面跳轉
純方便自己看 2種跳轉方法: 一:(函式) 模組中有點選事件,bindtap或者catchtap這種,在本頁面的js裡設定函式 XXXXX: function () { wx.navigateTo({ url: "../logs/logs",
微信小程式中頁面跳轉時如何傳遞一個物件
必須在需要跳轉的頁面中先使用 JSON.stringify(obj)對需要傳遞的物件資料進行轉換(轉換為json格式的資料), 把轉換後的資料 接在 url後面。最後在跳轉顯示的頁面先使用JSON.parse(json) 轉換為js型別的資料。 例: 在跳轉需要跳轉的頁面 i
微信小程式實現頁面內的跳轉——scroll-view
微信小程式實現頁面內的跳轉——scroll-view 需求:在頁面內我們常常會寫這樣一個效果,一個a標籤href=”#id” 點選會跳轉到本頁面的某個模組。微信小程式裡我們要實現這個效果需要用到scroll-view元件 問題:我第一次嘗試這個元件的時候應用到自己的專案裡
關於微信小程式的動態跳轉頁面
最近在研究微信小程式。在做一個簡單的購物小程式時,遇到一個問題:如何通過掃碼實現動態的跳轉頁面功能, 通過研究終於找到了解決方法: 首先當然要實現掃碼解析功能js的程式碼: 1 2 3 4 5 6 7 8 9 10 11 12 13
解決微信小程式使用switchTab跳轉後頁面不重新整理的問題
wx.switchTab({ url: '../index/index', success: function (e) { var page = get
微信小程序--簡單頁面跳轉
nav on() ott url tex bsp function toa toast 首先對text 設置監聽事件 <view bindtap="toast" class="usermotto"> <text class="user-mott
微信小程序之頁面跳轉
spa 今天 style color log code body 微信 navigate 如今 微信小程序已經充滿的我們的生活,那麽今天我就來說一說微信小程序中的最基礎的 頁面跳轉 1. wx.navigateTo(保留當前頁面,跳轉到應用內的某個頁面,使用wx.nav
微信小程式--navigator url 跳轉失效
在編輯微信小程式的時候,遇到的坑,使用 <navigator url='/pages/logs/logs'>跳轉</navigator>進行跳轉失效 了,進行多次測試發現,當頁面中的跳轉路徑與app.json中配置的tabBar 相重複時,頁面中的跳轉會失效,不
mpvue微信小程式之間的跳轉navigator標籤的坑 ,接收不到extra-data傳遞的物件
老方法即將廢棄,在這裡就不多說了,在mpvue裡這個方法其實是有坑的 navigator標籤官方文件,詳細介紹去這裡看 A小程式 <navigator target="miniProgram" open-type="navigate" app-i
微信小程式例項:跳轉到頂部例項
總所周知,小程式不能操作dom,那麼我們要怎麼實現在頁面滾動到一定條件的時候,顯示gotop圖示,點選後跳轉到頁面的頂部呢? 這裡小程式有個元件是可以實現的,那就是scroll-view元件,他具有很多的屬性,其中我們要利用到以下兩個屬性來處理: s
微信小程式tabbar的跳轉問題
如果在app.json 配置tabbar 的時候配置了 跳轉的頁面的連結; 在其餘的子頁面,設定用navigator 進行跳轉會發現 在tabbar 設定過的頁面無法進行跳轉,這時需要在navigator 里加上open-type="switchTab" 例如: &l
微信小程式帶引數跳轉到小遊戲
小遊戲的預設路徑是 pages/index/index wx.navigateToMiniProgram({ appId: 'wxef98a1fd370dd5ac', path:'pages/index/index?channcelCod