1. 程式人生 > >微信小程式之九宮格

微信小程式之九宮格

  1. <!--index.wxml-->
  2. <viewclass="container">
  3.   <viewclass="weui-grids">
  4.     <viewclass="weui-grid"wx:for="{{routers}}"wx:key="name">
  5.       <navigatorurl="{{item.url}}">
  6.         <viewclass="weui-grid__icon">
  7.           <imagesrc=" {{item.icon}}"mode="scaleToFill"/>
  8.         </
    view>
  9.         <textclass="weui-grid__label">{{item.name}}</text>
  10.       </navigator>
  11.     </view>
  12.   </view>
  13. </view>
介面程式碼中使用for迴圈的方式來展開,然後使用view來包裹,再將要包裹的內容放到內部,因為九宮格常常用作首頁的功能塊索引,所以內部增加了navigator的導航索引來實現。對於for迴圈中的資料直接在index.js中的data加入一個數組即可,程式碼如下。[javascript] view plain copy
  1. //index.js
  2. //獲取應用例項
  3. var app = getApp()  
  4. Page({  
  5.   data: {  
  6.     routers: [  
  7.       {  
  8.         name: 'T1',  
  9.         url: '',  
  10.         icon: ''
  11.       },  
  12.       {  
  13.         name: 'T2',  
  14.         url: '',  
  15.         icon: ''
  16.       },  
  17.       {  
  18.         name: 'T3',  
  19.         url: '',  
  20.         icon: ''
  21.       },  
  22.        {  
  23.         name: 'T4',  
  24.         url:'',  
  25.         icon:''
  26.       },  
  27.        {  
  28.         name: 'T5',  
  29.         url:'',  
  30.         icon:''
  31.       },  
  32.        {  
  33.         name: 'T6',  
  34.         url:'',  
  35.         icon:''
  36.       },  
  37.        {  
  38.         name: 'T7',  
  39.         url:'',  
  40.         icon:''
  41.       },  
  42.        {  
  43.         name: 'T8',  
  44.         url:'',  
  45.         icon:''
  46.       },  
  47.        {  
  48.         name: 'T9',  
  49.         url:'',  
  50.         icon:''
  51.       }  
  52.     ]  
  53.   },  
  54.   onLoad: function () {  
  55.     console.log('onLoad')  
  56.     var that = this
  57.   }  
  58. })  

下面是控制佈局的樣式程式碼
  1. /**index.wxss**/
  2. .weui-grids {  
  3.   positionrelative;  
  4.   overflowhidden;  
  5. }  
  6. .weui-grids:before {  
  7.   content" ";  
  8.   positionabsolute;  
  9.   left: 0;  
  10.   top: 0;  
  11.   right: 0;  
  12.   height1px;  
  13.   border-top1pxsolid#D9D9D9;  
  14.   color#D9D9D9;  
  15.   -webkit-transform-origin: 0 0;  
  16.           transform-origin: 0 0;  
  17.   -webkit-transform: scaleY(0.5);  
  18.           transform: scaleY(0.5);  
  19. }  
  20. .weui-grids:after {  
  21.   content" ";  
  22.   positionabsolute;  
  23.   left: 0;  
  24.   top: 0;  
  25.   width1px;  
  26.   bottom: 0;  
  27.   border-left1pxsolid#D9D9D9;  
  28.   color#D9D9D9;  
  29.   -webkit-transform-origin: 0 0;  
  30.           transform-origin: 0 0;  
  31.   -webkit-transform: scaleX(0.5);  
  32.           transform: scaleX(0.5);  
  33. }  
  34. .weui-grid {  
  35.   positionrelative;  
  36.   floatleft;  
  37.   padding20px10px;  
  38.   width33.33333333%;  
  39.   box-sizing: border-box;  
  40. }  
  41. .weui-grid:before {  
  42.   content