在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當(dāng)前位置:雨林木風(fēng)下載站 > 應(yīng)用軟件教程 > 詳細頁面

小程序完成9宮格界面的導(dǎo)航

小程序完成9宮格界面的導(dǎo)航

更新時間:2025-09-24 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

導(dǎo)微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應(yīng)用,它實現(xiàn)了應(yīng)用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應(yīng)用。小程序是一種不用下載就能使用的應(yīng)用,也是一...
微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應(yīng)用,它實現(xiàn)了應(yīng)用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應(yīng)用。小程序是一種不用下載就能使用的應(yīng)用,也是一項門檻非常高的創(chuàng)新,經(jīng)過將近兩年的發(fā)展,已經(jīng)構(gòu)造了新的小程序開發(fā)環(huán)境和開發(fā)者生態(tài)。
本篇文章主要介紹了小程序開發(fā)實戰(zhàn):實現(xiàn)九宮格界面的導(dǎo)航的代碼實現(xiàn),具有一定的參考價值,有興趣的可以了解一下。

小程序是長在微信上的,是移動端的界面,為了能夠更方便的使用,我們常常希望使用九宮格界面的方式作為導(dǎo)航,那要如何實現(xiàn)呢?

基于一個簡單的思考,九宮格就是三行三列,如果把行作為一個單位,再將每一行分成三列,那是不是就可以了?我們實踐一下。

首先來考慮九宮格數(shù)據(jù)的生成,每一個格子需要有一個圖標(biāo)、一個標(biāo)題、一個便于跳轉(zhuǎn)的路由,那天現(xiàn)在我們有九個頁面,所以定義一個一維數(shù)組即可。為了更好的進行后續(xù)的配置,我們將這個數(shù)組獨立到一個文件中routes.js,然后將其在index.js頁面中引用,routes放到index的目錄下。

var PageItems = 
 [ 
  { 
   text: '格子1', 
   icon: '../../images/c1.png', 
   route: '../c1/c1', 
  }, 
  { 
   text: '格子2', 
   icon: '../../images/c2.png', 
   route: '../c2/c2', 
  }, 
   { 
   text: '格子3', 
   icon: '../../images/c3.png', 
   route: '../c3/c3', 
  }, 
  { 
   text: '格子4', 
   icon: '../../images/c4.png', 
   route: '../c4/c4', 
  }, 
  { 
   text: '格子5', 
   icon: '../../images/c5', 
   route: '../c5/c5', 
  }, 
  { 
   text: '格子6', 
   icon: '../../images/c6.png', 
   route: '../c6/c6', 
  }, 
  { 
   text: '格子7', 
   icon: '../../images/c7.png', 
   route: '../c7/c7', 
  }, 
  { 
   text: '格子8', 
   icon: '../../images/c8', 
   route: '../c8/c8', 
  }, 
  { 
   text: '格子9', 
   icon: '../../images/c9.png', 
   route: '../c9/c9', 
  } 
 ]; 
module.exports = { 
 PageItems: PageItems 
}

在index.js頁面中我們引用routes.js,然后得到數(shù)據(jù)PageItems,但PageItems是一維數(shù)組,而我們前面思考是要用一行三列為一個組的,所以需要將這一維數(shù)組進行重新組合,最直接的方法就是生成一個數(shù)組,每個數(shù)組的元素又包含了一個只有三個元素的一維數(shù)組,代碼如下

//index.js 
//獲取應(yīng)用實例 
var app = getApp() 
var routes = require('routes'); 
Page({ 
 data: { 
  userInfo: {}, 
  cellHeight: '120px', 
  pageItems: [] 
 }, 
 //事件處理函數(shù) 
 onLoad: function () { 
  var that = this 
  console.log(app); 
  //調(diào)用應(yīng)用實例的方法獲取全局數(shù)據(jù) 
  app.getUserInfo(function (userInfo) { 
   wx.setNavigationBarTitle({ 
    title: '全新測試追蹤系統(tǒng)-' + userInfo.nickName, 
    success: function (res) { 
     // success 
    } 
   }) 
   that.setData({ 
    userInfo: userInfo 
   }) 
   var pageItems = []; 
   var row = []; 
   var len = routes.PageItems.length;//重組PageItems 
   len = Math.floor((len + 2) / 3) * 3; 
   for (var i = 0; i < len; i++) { 
    if ((i + 1) % 3 == 0) { 
     row.push(indexs.PageItems[i]); 
     pageItems.push(row); 
     row = []; 
     continue; 
    } 
    else { 
     row.push(indexs.PageItems[i]); 
    } 
   } 
   wx.getSystemInfo({ 
    success: function (res) { 
     var windowWidth = res.windowWidth; 
     that.setData({ 
      cellHeight: (windowWidth / 3) + 'px' 
     }) 
    }, 
    complete: function () { 
     that.setData({ 
      pageItems: pageItems 
     }) 
    } 
   }) 
  }) 
 } 
})

在index.wxml中,我們來布局界面,由于每一個格子都是一樣的,只是數(shù)據(jù)不一樣,所以想到用模板來呈現(xiàn)。為此,我們先做一個單元格的模板面cell.wxml.

<template name="cell"> 
 <navigator url="{{route}}" class="pages-item" style="height:{{cellHeight}}"> 
  <view class="{{text==null||text.length==0?'pages-icon-wrapper-no-bg':'pages-icon-wrapper'}}" > 
   <image src="{{icon}}" class="pages-icon"></image> 
  </view> 
  <view class="pages-text-wrapper"> 
   <text class="pages-text">{{text}}</text> 
  </view> 
 </navigator> 
</template>

這里看到兩個大括號內(nèi)套的是從外面?zhèn)魅氲臄?shù)據(jù),然后在里面可以進行簡單的邏輯判斷,以便于更好的呈現(xiàn)。比如text==null的時候,我們希望呈現(xiàn)的是一個空背景的格子,在有數(shù)據(jù)的時候我們希望呈現(xiàn)一個含背景的格子,所以

"{{text==null||text.length==0?'pages-icon-wrapper-no-bg':'pages-icon-wrapper'}}".

另外一點,由于我們是將該界面文件作為模板的,所以必須要用template標(biāo)記來包住,同時命一個名字name,這樣在引用模板的地方才可以識別調(diào)用。 現(xiàn)在我們在index.wxml中引用這個模板

<!--index.wxml--> 
<import src="cell.wxml" /> 
<view class="pages-container"> 
 <scroll-view scroll-y="true" class="pages-wrapper"> 
  <view wx:for="{{pageItems}}" wx:key="{{text}}"> 
   <view class="pages-row"> 
    <template is="cell" data="{{...item[0],cellHeight}}" /> 
    <template is="cell" data="{{...item[1],cellHeight}}" /> 
    <template is="cell" data="{{...item[2],cellHeight}}" /> 
   </view> 
  </view> 
 </scroll-view> 
</view>

模板的引用使用import來引用,在調(diào)用的地方使用template和is,其中is指定的是cell.wxml中的name。item[0]、item[1]、item[2]是循環(huán)傳入的數(shù)據(jù),cellHeight是在index.js的data中存放的數(shù)據(jù)。在將數(shù)據(jù)傳入到模板內(nèi)部時,框架會將其展開在字段的形式,即key-value對,所以再看cell.wxml文件,就會發(fā)現(xiàn)內(nèi)部是直接使用key來作為數(shù)據(jù)的。 將數(shù)據(jù)呈現(xiàn)到界面之后,我們需要相當(dāng)?shù)臉邮絹砼浜希琲ndex.wxss代碼如下。

/**index.wxss**/ 
.pages-container { 
 height: 100%; 
 display: flex; 
 flex-direction: column; 
 box-sizing: border-box; 
 padding-top: 10rpx; 
 padding-bottom: 10rpx; 
} 
.pages-title-bg { 
 width: 100%; 
} 
.pages-wrapper { 
} 
.pages-row { 
 width: 100%; 
 display: flex; 
 flex-direction: row; 
 justify-content: space-around; 
} 
.pages-item { 
 position: relative; 
 padding: 10rpx; 
 width: 33%; 
 background-color: #fff; 
 border: #ddd solid 1px; 
} 
.pages-icon-wrapper { 
 display: flex; 
 justify-content: space-around; 
 align-items: center; 
 margin: 10rpx; 
 border-radius: 30%; 
 height: 75%; 
 background:#00CD0D; 
} 
.pages-icon-wrapper-no-bg { 
 display: flex; 
 justify-content: space-around; 
 align-items: center; 
 margin: 10rpx; 
 height: 75%; 
} 
.pages-icon { 
 width: 100rpx; 
 height: 100rpx; 
} 
.pages-text-wrapper { 
 text-align: center; 
} 
.pages-text { 
 font-weight: bolder; 
}

效果如下圖

小程序?qū)崿F(xiàn)九宮格界面的導(dǎo)航

我們模板中使用navigator元素來呈現(xiàn)格子,所以每個格子自然就可以導(dǎo)航了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請關(guān)注PHP中文網(wǎng)!

相關(guān)推薦:

關(guān)于微信小程序Page中data數(shù)據(jù)操作和函數(shù)調(diào)用的解析

微信小程序版翻牌小游戲的實現(xiàn)

微信小程序?qū)崿F(xiàn)根據(jù)字母選擇城市的功能

以上就是小程序?qū)崿F(xiàn)九宮格界面的導(dǎo)航的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


小程序是一種不需要下載安裝即可使用的應(yīng)用,它實現(xiàn)了應(yīng)用“觸手可及”的夢想,用戶掃一掃或者搜一下即可打開應(yīng)用。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 手机av在线网站| 日韩专区第三页| 日本a在线免费观看| 免费成年人高清视频| 国产在线青青草| www.av片| 国产传媒久久久| 日韩人妻一区二区三区蜜桃视频| 香港日本韩国三级网站| 亚洲精品一二三四五区| 成人在线观看a| 国产偷人视频免费| 久草在在线视频| 亚洲精品高清无码视频| 黑鬼大战白妞高潮喷白浆| av动漫免费看| 欧美成人黄色网址| 日韩精品aaa| 在线观看污视频| 精品国产av无码一区二区三区| 国产精品视频二| 久久久久久久久久久视频| 欧美三级一级片| the porn av| 久久精品国产精品亚洲精品色 | 久久99久久99精品| 国产中文字幕视频在线观看| 欧美日本视频在线观看| 国产高清视频网站| 日本黄色播放器| 国内性生活视频| 亚洲美女性囗交| 久久av综合网| 中文字幕 日韩 欧美| 777久久精品一区二区三区无码 | 日韩久久一级片| 秋霞在线一区二区| 能在线观看的av| 久久出品必属精品| 国产极品粉嫩福利姬萌白酱| 国产免费中文字幕| 大肉大捧一进一出好爽视频| 色乱码一区二区三区熟女| 欧美 国产 小说 另类| 粉嫩av一区二区三区天美传媒 | 日本在线视频www| 男女爱爱视频网站| av在线无限看| 91传媒久久久| 亚洲国产精品无码观看久久| 国产三级国产精品国产专区50| 欧美乱大交xxxxx潮喷l头像| www.51色.com| 色婷婷综合网站| 国产a级一级片| 国产精品久久久久久久久电影网| 国产福利在线免费| 成年人视频网站免费观看| 欧美一级免费在线观看| 911福利视频| 国产九九在线观看| 欧美三级理论片| 爱情岛论坛vip永久入口| 免费无码不卡视频在线观看| 国产欧美久久久久| 久久久久久av无码免费网站下载| 波多野结衣网页| 免费不卡av网站| 色呦呦网站入口| 99re6这里有精品热视频| 91xxx视频| 免费在线黄网站| 日日碰狠狠添天天爽超碰97| 丁香色欲久久久久久综合网| 麻豆传媒网站在线观看| www.成年人视频| 2022亚洲天堂| 一区二区xxx| 手机在线视频一区| 秋霞在线一区二区| 黄色www网站| 亚洲精品乱码久久久久久自慰| 国产一级不卡毛片| 色综合色综合色综合色综合| 天堂av在线8| 亚洲中文字幕无码一区二区三区| 亚洲色欲久久久综合网东京热| 国产老熟妇精品观看| 日日噜噜噜噜久久久精品毛片| 57pao国产成永久免费视频| 超薄肉色丝袜足j调教99| 免费毛片小视频| 天天干天天操天天做| 强开小嫩苞一区二区三区网站| 拔插拔插海外华人免费| 91极品尤物在线播放国产| 久久综合亚洲精品| caoporn超碰97| 久久福利一区二区| 欧美精品aaaa| 国产 欧美 日韩 一区| 国产熟女高潮视频| 四虎精品欧美一区二区免费| 婷婷五月综合缴情在线视频| 日韩av在线中文| 黄色免费视频大全| 欧美与动交zoz0z| 欧美伦理视频在线观看| 黄色录像特级片| www.com操| 九九九九免费视频| 自拍偷拍视频在线| 亚洲国产成人va在线观看麻豆| 国产一级不卡视频| 天堂网成人在线| 九九视频精品在线观看| 大陆av在线播放| 国产精品一二三在线观看| 亚洲一区日韩精品| 欧美色图色综合| 日韩精品一区在线视频| 欧美xxxxxbbbbb| 热久久久久久久久| 蜜桃免费在线视频| 黄色av免费在线播放| 97国产在线播放| 极品美女扒开粉嫩小泬| 日本国产中文字幕| 国产精品国三级国产av| www.日本久久| 激情黄色小视频| 91丨九色丨蝌蚪| 欧美在线aaa| 日韩精品aaa| 波多野结衣国产精品| 在线视频日韩欧美| 免费不卡av网站| 女同性恋一区二区| 日本天堂免费a| 日本免费a视频| 国产中文字幕在线免费观看| 亚洲人精品午夜射精日韩 | 中文字幕第100页| 欧美婷婷精品激情| 男女男精品视频站| 日本中文字幕观看| 四虎1515hh.com| 精品一二三四五区| jizzjizz国产精品喷水| 欧美精品色婷婷五月综合| 熟妇人妻va精品中文字幕 | 欧美精品一区免费| 爆乳熟妇一区二区三区霸乳| 亚洲综合欧美激情| 玖玖精品在线视频| 鲁一鲁一鲁一鲁一色| 亚洲少妇久久久| 99热都是精品| 免费成人午夜视频| 天天影视色综合| 男人添女荫道口女人有什么感觉| 日韩免费视频播放| 亚洲免费av一区| 免费一级特黄毛片| 777视频在线| 老太脱裤让老头玩ⅹxxxx| 国产自偷自偷免费一区 | 凹凸日日摸日日碰夜夜爽1| 亚洲男人天堂av在线| 久久99久久99精品| 亚洲18在线看污www麻豆| 又粗又黑又大的吊av| 手机免费看av网站| 日日橹狠狠爱欧美超碰| 日本黄色的视频| 国产成人a亚洲精v品无码| 在线一区二区不卡| 亚洲精品高清无码视频| 国产精品日韩三级| 爽爽爽在线观看| 777一区二区| 黑鬼大战白妞高潮喷白浆| 伊人久久在线观看| xxxx在线免费观看| 国产视频一区二区视频| 草b视频在线观看| 激情图片qvod| 网站在线你懂的| 天堂中文视频在线| 国产欧美高清在线| 日韩网站在线免费观看| 久久久久久久久久久久久国产| 亚洲欧美自偷自拍另类| 国产97色在线 | 日韩| 国产精品333| 波多野结衣50连登视频| 人妻无码久久一区二区三区免费 | 水蜜桃色314在线观看| 人人妻人人澡人人爽欧美一区双| 亚洲美女自拍偷拍|