欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

小程序開發(fā)中怎么實現(xiàn)九宮格界面的導(dǎo)航

這篇文章將為大家詳細(xì)講解有關(guān)小程序開發(fā)中怎么實現(xiàn)九宮格界面的導(dǎo)航,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)公司是專業(yè)的萊蕪網(wǎng)站建設(shè)公司,萊蕪接單;提供成都做網(wǎng)站、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行萊蕪網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!

首先來考慮九宮格數(shù)據(jù)的生成,每一個格子需要有一個圖標(biāo)、一個標(biāo)題、一個便于跳轉(zhuǎn)的路由,那天現(xiàn)在我們有九個頁面,所以定義一個一維數(shù)組即可。為了更好的進(jìn)行后續(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ù)組進(jìn)行重新組合,最直接的方法就是生成一個數(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)用實例的方法獲取全局?jǐn)?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" > 
  <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ù),然后在里面可以進(jìn)行簡單的邏輯判斷,以便于更好的呈現(xiàn)。比如text==null的時候,我們希望呈現(xiàn)的是一個空背景的格子,在有數(shù)據(jù)的時候我們希望呈現(xiàn)一個含背景的格子,所以

復(fù)制代碼 代碼如下:


"{{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ù)臉邮絹砼浜?,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; 
}

效果如下圖

小程序開發(fā)中怎么實現(xiàn)九宮格界面的導(dǎo)航

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

關(guān)于“小程序開發(fā)中怎么實現(xiàn)九宮格界面的導(dǎo)航”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

分享名稱:小程序開發(fā)中怎么實現(xiàn)九宮格界面的導(dǎo)航
網(wǎng)址分享:http://aaarwkj.com/article12/iijdgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計網(wǎng)站排名、搜索引擎優(yōu)化標(biāo)簽優(yōu)化、用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
久久九九精品日本人妻视频| 国产情色自拍在线观看| 国产三级国产精品国产专播| 国产亚洲精品一区久久| 91九色在线精品一区| 日日干天天日夜夜操| 国产一区二区黄色在线| av一区二区三区三| 亚洲天堂中文字幕麻豆| 久久国产亚洲欧美日韩精品| 蜜臀国产午夜在线视频| 日本成人一区二区在线播放| 免费人妻aⅴ中文字幕| 国产原创传媒在线观看| 亚洲精品日韩av专区| 人成在线免费视频网站| 国产毛毛片一区二区三区| 在线观看亚洲激情av| 亚洲国产一区二区精品| 久久中文字幕一区二区三区| 亚洲精品国产第一区第二区| 国产一级三级视频在线| 中国毛片一区二区三区| 亚洲av毛片一区二区| 人妻乱人伦中文字幕在线| 亚洲va在线va天堂va在线| 免费观看在线视频午夜| 日本人免费一区二区电影| 亚洲国产精品午夜福利在线播放| 日韩av一区二区免费在线观看| 精品嫩模福利一区二区蜜臀| 欧美一级特黄大片做受农村 | 亚洲精品欧美综合第四区| 国产好大好爽在线免费观看 | 日韩av网址在线免费观看| 亚洲国产精品综合色在线| 国产区精品福利在线熟女| 亚洲五月婷婷久久综合| 午夜少妇久久久久久久久| 蜜臀av中文字幕在线| 激情图区亚洲一区二区|