免费国产欧美国日产_少妇AV一区二区三区无码_蜜桃精品av无码喷奶水小说_jk18禁网站视频_精产国品一二三级产品区别_被夫の上司に犯波多野结衣_78m成人手机免费看_最爽最刺激18禁视频_偷偷色噜狠狠狠狠的777米奇

易優(yōu)GEO 重磅上線 ~ 一站式GEO優(yōu)化工具,讓豆包、文心一言、DeepSeek 在回答中主動推薦你的品牌,搶占AI流量入口!  點擊查看

小程序模板網(wǎng)

如意小程序開發(fā)實戰(zhàn):實現(xiàn)九宮格界面的導航

發(fā)布時間:2017-11-27 17:38 所屬欄目:小程序開發(fā)教程

小程序是長在微信上的,是移動端的界面,為了能夠更方便的使用,我們常常希望使用九宮格界面的方式作為導航,那要如何實現(xiàn)呢?基于一個簡單的思考,九宮格就是三行三列,如果把行作為一個單 ...

 
 
 

小程序是長在微信上的,是移動端的界面,為了能夠更方便的使用,我們常常希望使用九宮格界面的方式作為導航,那要如何實現(xiàn)呢? 
基于一個簡單的思考,九宮格就是三行三列,如果把行作為一個單位,再將每一行分成三列,那是不是就可以了?我們實踐一下。 
首先來考慮九宮格數(shù)據(jù)的生成,每一個格子需要有一個圖標、一個標題、一個便于跳轉的路由,那天現(xiàn)在我們有九個頁面,所以定義一個一維數(shù)組即可。為了更好的進行后續(xù)的配置,我們將這個數(shù)組獨立到一個文件中routes.js,然后將其在index.js頁面中引用,routes放到index的目錄下。 
[javascript]

 

			
  1. var PageItems =
  2. [
  3. {
  4. text: '格子1',
  5. icon: '../../images/c1.png',
  6. route: '../c1/c1',
  7. },
  8. {
  9. text: '格子2',
  10. icon: '../../images/c2.png',
  11. route: '../c2/c2',
  12. },
  13. {
  14. text: '格子3',
  15. icon: '../../images/c3.png',
  16. route: '../c3/c3',
  17. },
  18. {
  19. text: '格子4',
  20. icon: '../../images/c4.png',
  21. route: '../c4/c4',
  22. },
  23. {
  24. text: '格子5',
  25. icon: '../../images/c5',
  26. route: '../c5/c5',
  27. },
  28. {
  29. text: '格子6',
  30. icon: '../../images/c6.png',
  31. route: '../c6/c6',
  32. },
  33. {
  34. text: '格子7',
  35. icon: '../../images/c7.png',
  36. route: '../c7/c7',
  37. },
  38. {
  39. text: '格子8',
  40. icon: '../../images/c8',
  41. route: '../c8/c8',
  42. },
  43. {
  44. text: '格子9',
  45. icon: '../../images/c9.png',
  46. route: '../c9/c9',
  47. }
  48. ];
  49. module.exports = {
  50. PageItems: PageItems
  51. }

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

 

			
  1. //index.js
  2. //獲取應用實例
  3. var app = getApp()
  4. var routes = require('routes');
  5. Page({
  6. data: {
  7. userInfo: {},
  8. cellHeight: '120px',
  9. pageItems: []
  10. },
  11. //事件處理函數(shù)
  12. onLoad: function () {
  13. var that = this
  14. console.log(app);
  15. //調用應用實例的方法獲取全局數(shù)據(jù)
  16. app.getUserInfo(function (userInfo) {
  17. wx.setNavigationBarTitle({
  18. title: '全新測試追蹤系統(tǒng)-' + userInfo.nickName,
  19. success: function (res) {
  20. // success
  21. }
  22. })
  23. that.setData({
  24. userInfo: userInfo
  25. })
  26. var pageItems = [];
  27. var row = [];
  28. var len = routes.PageItems.length;//重組PageItems
  29. len = Math.floor((len + 2) / 3) * 3;
  30. for (var i = 0; i < len; i++) {
  31. if ((i + 1) % 3 == 0) {
  32. row.push(indexs.PageItems[i]);
  33. pageItems.push(row);
  34. row = [];
  35. continue;
  36. }
  37. else {
  38. row.push(indexs.PageItems[i]);


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://m.szcjxy.com/wxmini/doc/course/17956.html 復制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢: 點擊咨詢
在線客服