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

當前位置:雨林木風下載站 > 應用軟件教程 > 詳細頁面

小程序開發9宮格界面的導航的代碼完成

小程序開發9宮格界面的導航的代碼完成

更新時間:2025-10-10 文章作者:未知 信息來源:網絡 閱讀次數:

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

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

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

首先來考慮九宮格數據的生成,每一個格子需要有一個圖標、一個標題、一個便于跳轉的路由,那天現在我們有九個頁面,所以定義一個一維數組即可。為了更好的進行后續的配置,我們將這個數組獨立到一個文件中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,然后得到數據PageItems,但PageItems是一維數組,而我們前面思考是要用一行三列為一個組的,所以需要將這一維數組進行重新組合,最直接的方法就是生成一個數組,每個數組的元素又包含了一個只有三個元素的一維數組,代碼如下

//index.js 
//獲取應用實例 
var app = getApp() 
var routes = require('routes'); 
Page({ 
 data: { 
  userInfo: {}, 
  cellHeight: '120px', 
  pageItems: [] 
 }, 
 //事件處理函數 
 onLoad: function () { 
  var that = this 
  console.log(app); 
  //調用應用實例的方法獲取全局數據 
  app.getUserInfo(function (userInfo) { 
   wx.setNavigationBarTitle({ 
    title: '全新測試追蹤系統-' + 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中,我們來布局界面,由于每一個格子都是一樣的,只是數據不一樣,所以想到用模板來呈現。為此,我們先做一個單元格的模板面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>

這里看到兩個大括號內套的是從外面傳入的數據,然后在里面可以進行簡單的邏輯判斷,以便于更好的呈現。比如text==null的時候,我們希望呈現的是一個空背景的格子,在有數據的時候我們希望呈現一個含背景的格子,所以

代碼如下:

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

另外一點,由于我們是將該界面文件作為模板的,所以必須要用template標記來包住,同時命一個名字name,這樣在引用模板的地方才可以識別調用。 現在我們在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來引用,在調用的地方使用template和is,其中is指定的是cell.wxml中的name。item[0]、item[1]、item[2]是循環傳入的數據,cellHeight是在index.js的data中存放的數據。在將數據傳入到模板內部時,框架會將其展開在字段的形式,即key-value對,所以再看cell.wxml文件,就會發現內部是直接使用key來作為數據的。 將數據呈現到界面之后,我們需要相當的樣式來配合,index.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; 
}

效果如下圖

小程序開發九宮格界面的導航的代碼實現

我們模板中使用navigator元素來呈現格子,所以每個格子自然就可以導航了。

以上就是小程序開發九宮格界面的導航的代碼實現的詳細內容,更多請關注php中文網其它相關文章!


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

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

本類教程下載

系統下載排行

在线看毛片视频-国产免费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>
  • 福利视频一二区| 大陆极品少妇内射aaaaaa| 97av中文字幕| 国产对白在线播放| 最新免费av网址| 天天干天天操天天做| 国产精品秘入口18禁麻豆免会员| a级黄色片网站| 超碰中文字幕在线观看| 婷婷激情小说网| 亚洲精品20p| 五月天六月丁香| 99er在线视频| 久久久久免费看黄a片app| 国产精品专区在线| 色综合av综合无码综合网站| 欧美变态另类刺激| 无遮挡又爽又刺激的视频| 啊啊啊国产视频| 制服丝袜综合网| 日本福利视频导航| 蜜臀精品一区二区| 中文字幕欧美人妻精品一区| 在线看的黄色网址| 午夜一级免费视频| 91视频 - 88av| 免费无码不卡视频在线观看| 宅男噜噜噜66国产免费观看| 日本77777| 男人添女荫道口喷水视频| 欧美极品欧美精品欧美| 国产一区二区视频免费在线观看 | 中文字幕国产免费| 日韩va在线观看| 天天夜碰日日摸日日澡性色av| 波多野结衣作品集| 97在线免费视频观看| 欧美v在线观看| 黄色片免费网址| 国产a级一级片| 成年人免费观看的视频| 色综合久久久久无码专区| 天天影视色综合| 六月婷婷激情综合| 在线黄色免费观看| 91午夜在线观看| 久草福利视频在线| 国产白丝袜美女久久久久| 天堂在线一区二区三区| 黄色片一级视频| 免费网站永久免费观看| 天天综合网久久| 国产午夜福利在线播放| 黄色aaaaaa| 黄色一级免费大片| 久久精品视频16| 国产盗摄视频在线观看| www.xxx亚洲| 91好吊色国产欧美日韩在线| 午夜福利123| 在线看的黄色网址| 日韩av一二三四| 日本一区二区黄色| 免费av手机在线观看| 国产一级做a爰片久久毛片男| 搡的我好爽在线观看免费视频| 日本美女高潮视频| 天天爽天天爽夜夜爽| 国产成人无码一二三区视频| 九九九九九九九九| 久久9精品区-无套内射无码| 午夜免费福利小电影| 国产免费黄色一级片| 成年人网站国产| 丁香花在线影院观看在线播放 | 毛片毛片毛片毛| 久久精品视频在线观看免费| 亚洲欧美在线精品| 中文字幕视频在线免费观看| 中文字幕第80页| 污污视频网站在线| 特黄特黄一级片| 97在线免费视频观看| 少妇一晚三次一区二区三区| 三上悠亚久久精品| 色综合久久久久无码专区| 任你操这里只有精品| 国内自拍视频一区| 奇米视频888| 亚洲小说欧美另类激情| 欧美黑人在线观看| 日日碰狠狠躁久久躁婷婷| 杨幂毛片午夜性生毛片| 日本丰满少妇黄大片在线观看| 大地资源网在线观看免费官网| 国产女主播自拍| 乌克兰美女av| 九九久久九九久久| 国产激情在线观看视频| 欧美 另类 交| 波多野结衣作品集| 色偷偷中文字幕| 国产肥臀一区二区福利视频| 亚洲激情在线看| 精品这里只有精品| 午夜啪啪小视频| 鲁一鲁一鲁一鲁一色| 天天影视色综合| av天堂永久资源网| 免费观看国产视频在线| 大香煮伊手机一区| 台湾无码一区二区| aaa一级黄色片| 虎白女粉嫩尤物福利视频| 日韩一二区视频| www.99r| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 久久久久久久久久毛片| 无人在线观看的免费高清视频| 欧美日韩午夜爽爽| 日韩视频在线观看一区二区三区| 亚洲欧洲日产国码无码久久99| 男女激烈动态图| 日韩欧美中文在线视频| 国产九九在线视频| 久久久久久久久久久免费视频| 公共露出暴露狂另类av| www.桃色.com| 日韩av卡一卡二| 校园春色 亚洲色图| www.色偷偷.com| 国产视频手机在线播放| 日韩一级片播放| 日本熟妇人妻中出| 黄色三级视频在线| 欧美伦理片在线观看| 久久久久久久久久久久91| 黄色三级视频片| 性刺激的欧美三级视频| 中文字幕第38页| 一级做a爱视频| 国产a级片免费看| 99re6这里有精品热视频| 久久久久久久久网| 国产一区二区视频播放| 干日本少妇首页| 欧美日韩大尺度| 色综合色综合色综合色综合| 一区二区三区四区毛片| 中文字幕第50页| 97超碰在线人人| 日本一极黄色片| 久久撸在线视频| 日本黄xxxxxxxxx100| 欧美在线一区视频| 在线观看免费黄网站| 超碰人人草人人| 日本中文字幕在线视频观看 | xxxx在线免费观看| 白白操在线视频| 日韩 欧美 高清| 日日噜噜噜夜夜爽爽| www.好吊操| 国产高潮免费视频| 日韩一二区视频| 国产精品一区二区羞羞答答| 青青草原播放器| 国产a级片免费观看| 一本二本三本亚洲码| 国产精品又粗又长| 国产福利精品一区二区三区| 91动漫在线看| 一个色综合久久| av免费观看国产| 午夜天堂在线视频| 又粗又黑又大的吊av| 日本一级淫片演员| 久久久精品麻豆| 国产成人在线小视频| 艹b视频在线观看| 精品国产免费av| 成年丰满熟妇午夜免费视频| 三级a三级三级三级a十八发禁止| 欧洲精品在线播放| 大桥未久一区二区| 天天操狠狠操夜夜操| 欧美精品色婷婷五月综合| 黄色成人在线免费观看| 99九九99九九九99九他书对| 成人免费xxxxx在线视频| 欧美精品久久久久久久免费| 日本特级黄色大片| 亚洲最大天堂网| 在线观看国产一级片| 成人一区二区三| 成人在线观看你懂的| 欧美午夜性视频| 成年女人18级毛片毛片免费| 国产一级黄色录像片| 今天免费高清在线观看国语|