需求
創新互聯公司主打移動網站、做網站、成都做網站、網站改版、網絡推廣、網站維護、申請域名、等互聯網信息服務,為各行業提供服務。在技術實力的保障下,我們為客戶承諾穩定,放心的服務,根據網站的內容與功能再決定采用什么樣的設計。最后,要實現符合網站需求的內容、功能與設計,我們還會規劃穩定安全的技術方案做保障。
一個商城的個人中心頁里,有很多用戶操作按鈕:我的訂單,我的提現,我的送貨等等,每個圖標在點擊的時候,可能是跳轉頁面的,也可能是執行當頁方法的。
目前需要寫一個通用的方法來實現這個功能,菜單的數據結構是一樣的。
解決
菜單數據結構
title: 菜單名
iconUrl: 圖標url
type: page - 跳轉頁面 或者 method - 執行方法
url: 點擊時跳轉的鏈接或執行方法
badge: 圖標上顯示的未讀信息數
// 營銷工具菜單組 menuListSell: [ {id: 0, title: '開團海報', type: 'page', url: '/pages/userCenter/poster/poster' ,iconUrl: '/assets/mine/poster.png', badge: 0}, {id: 1, title: '優惠券包', type: 'method', url: 'showDeveloping' ,iconUrl: '/assets/mine/coupon.png', badge: 4}, {id: 2, title: '優惠活動', type: 'method', url: 'showDiscountActivity' ,iconUrl: '/assets/mine/gift.png', badge: 0}, ],
頁面結構是這樣的
<view class="section-icons"> <view wx:for="{{menuListNormal}}" wx:key="{{item.id}}" data-index="{{item.id}}" data-type="{{item.type}}" data-url="{{item.url}}" class="section-icons-item" bindtap="switchMenu" > <view class="icon"> <image src="{{item.iconUrl}}" mode="aspectFit"></image> <view wx:if="{{item.badge > 0}}" class="badge">{{item.badge}}</view> </view> <text>{{item.title}}</text> </view> </view>
每個圖標菜單在點擊的時候,都會執行 switchMenu
這個方法,獲取標簽上的 url
、type
, 再通過 type
值判斷跳轉頁面還是執行方法,如果 type === 'page'
就跳轉鏈接為 url
的頁面,如果 type !== 'page'
就執行當頁名為 url
的方法。當然,這個方法需要事先在當前頁面中已經寫好。
重要主要是如何執行名為 url
的方法:因為要執行的 url
方法是 this 的一個對象,所以可以直接使用 this['對象字符串']()
來執行這個方法, this['對象字符串']
定位到了這個方法的引用,再加上 ()
就可以執行這個方法,如下:
// 菜單點擊 switchMenu(e){ // 獲取標簽上的數據 let pageUrl = e.currentTarget.dataset.url; let type = e.currentTarget.dataset.type; if (type === 'page'){ // 跳轉頁面時 wx.navigateTo({ url: pageUrl }) } else { // 調用方法時 this[pageUrl]() } },
結果
這位,就可以實現頁面跳轉和方法執行了
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創新互聯。
文章題目:詳解小程序如何動態綁定點擊的執行方法
網站網址:http://vcdvsql.cn/article20/pdppjo.html
成都網站建設公司_創新互聯,為您提供域名注冊、外貿建站、Google、App設計、微信公眾號、電子商務
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯