需求
創(chuàng)新互聯(lián)公司主打移動(dòng)網(wǎng)站、做網(wǎng)站、成都做網(wǎng)站、網(wǎng)站改版、網(wǎng)絡(luò)推廣、網(wǎng)站維護(hù)、申請(qǐng)域名、等互聯(lián)網(wǎng)信息服務(wù),為各行業(yè)提供服務(wù)。在技術(shù)實(shí)力的保障下,我們?yōu)榭蛻?hù)承諾穩(wěn)定,放心的服務(wù),根據(jù)網(wǎng)站的內(nèi)容與功能再?zèng)Q定采用什么樣的設(shè)計(jì)。最后,要實(shí)現(xiàn)符合網(wǎng)站需求的內(nèi)容、功能與設(shè)計(jì),我們還會(huì)規(guī)劃穩(wěn)定安全的技術(shù)方案做保障。
一個(gè)商城的個(gè)人中心頁(yè)里,有很多用戶(hù)操作按鈕:我的訂單,我的提現(xiàn),我的送貨等等,每個(gè)圖標(biāo)在點(diǎn)擊的時(shí)候,可能是跳轉(zhuǎn)頁(yè)面的,也可能是執(zhí)行當(dāng)頁(yè)方法的。
目前需要寫(xiě)一個(gè)通用的方法來(lái)實(shí)現(xiàn)這個(gè)功能,菜單的數(shù)據(jù)結(jié)構(gòu)是一樣的。
解決
菜單數(shù)據(jù)結(jié)構(gòu)
title: 菜單名
iconUrl: 圖標(biāo)url
type: page - 跳轉(zhuǎn)頁(yè)面 或者 method - 執(zhí)行方法
url: 點(diǎn)擊時(shí)跳轉(zhuǎn)的鏈接或執(zhí)行方法
badge: 圖標(biāo)上顯示的未讀信息數(shù)
// 營(yíng)銷(xiāo)工具菜單組 menuListSell: [ {id: 0, title: '開(kāi)團(tuán)海報(bào)', type: 'page', url: '/pages/userCenter/poster/poster' ,iconUrl: '/assets/mine/poster.png', badge: 0}, {id: 1, title: '優(yōu)惠券包', type: 'method', url: 'showDeveloping' ,iconUrl: '/assets/mine/coupon.png', badge: 4}, {id: 2, title: '優(yōu)惠活動(dòng)', type: 'method', url: 'showDiscountActivity' ,iconUrl: '/assets/mine/gift.png', badge: 0}, ],
頁(yè)面結(jié)構(gòu)是這樣的
<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>
每個(gè)圖標(biāo)菜單在點(diǎn)擊的時(shí)候,都會(huì)執(zhí)行 switchMenu
這個(gè)方法,獲取標(biāo)簽上的 url
、type
, 再通過(guò) type
值判斷跳轉(zhuǎn)頁(yè)面還是執(zhí)行方法,如果 type === 'page'
就跳轉(zhuǎn)鏈接為 url
的頁(yè)面,如果 type !== 'page'
就執(zhí)行當(dāng)頁(yè)名為 url
的方法。當(dāng)然,這個(gè)方法需要事先在當(dāng)前頁(yè)面中已經(jīng)寫(xiě)好。
重要主要是如何執(zhí)行名為 url
的方法:因?yàn)橐獔?zhí)行的 url
方法是 this 的一個(gè)對(duì)象,所以可以直接使用 this['對(duì)象字符串']()
來(lái)執(zhí)行這個(gè)方法, this['對(duì)象字符串']
定位到了這個(gè)方法的引用,再加上 ()
就可以執(zhí)行這個(gè)方法,如下:
// 菜單點(diǎn)擊 switchMenu(e){ // 獲取標(biāo)簽上的數(shù)據(jù) let pageUrl = e.currentTarget.dataset.url; let type = e.currentTarget.dataset.type; if (type === 'page'){ // 跳轉(zhuǎn)頁(yè)面時(shí) wx.navigateTo({ url: pageUrl }) } else { // 調(diào)用方法時(shí) this[pageUrl]() } },
結(jié)果
這位,就可以實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)和方法執(zhí)行了
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
文章題目:詳解小程序如何動(dòng)態(tài)綁定點(diǎn)擊的執(zhí)行方法
網(wǎng)站網(wǎng)址:http://aaarwkj.com/article20/pdppjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、外貿(mào)建站、Google、App設(shè)計(jì)、微信公眾號(hào)、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)