欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 微信小程序实战篇-分类页面制作

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:740

高端HTML5响应式企业通用网

2020-05-06   浏览:521

html5响应式外贸网站英文版

2020-05-08   浏览:510

HTML5自适应律师工作室类网

2020-04-04   浏览:504

HTML5影视传媒文化公司类网

2020-05-12   浏览:502

微信小程序实战篇-分类页面制作

发布时间:2020-12-29  

哈喽,大家好,又到周五啦,今天代码君要教大家分类页面的制作,废话不多说,先上效果图。这个界面布局难度不是很大,css基础好的,很快就实现了,分类界面,左边是一级目录,右边是一级目录对应的二级目录,根据这 ...

 

 

 

哈喽,大家好,又到周五啦,今天代码君要教大家分类页面的制作,废话不多说,先上效果图。

微信小程序实战篇-分类页面制作

这个界面布局难度不是很大,css基础好的,很快就实现了,分类界面,左边是一级目录,右边是一级目录对应的二级目录,根据这个需求,我们数据设计的结构一定是数组嵌套数组,第一个数组包含一级目录数据,嵌套的数组包含的是二级目录的数据。

代码的实现

classify.js

Page({ data: { cateItems: [ { cate_id: 1, cate_name: "护肤", ishaveChild: true, children: [ { child_id: 1, name: '洁面皂', image: "" }, { child_id: 2, name: '卸妆', image: "" }, { child_id: 3, name: '洁面乳', image: "" }, { child_id: 4, name: '面部祛角质', image: "" } ] }, { cate_id: 2, cate_name: "彩妆", ishaveChild: true, children: [ { child_id: 1, name: '气垫bb', image: "" }, { child_id: 2, name: '修容/高光', image: "" }, { child_id: 3, name: '遮瑕', image: "" }, { child_id: 4, name: '腮红', image: "" }, { child_id: 5, name: '粉饼', image: "" }, { child_id: 6, name: '粉底', image: "" }, { child_id: 7, name: '蜜粉/散粉', image: "" }, { child_id: 8, name: '隔离霜', image: "" } ] }, { cate_id: 3, cate_name: "香水/香氛", ishaveChild: true, children: [ { child_id: 1, name: '淡香水EDT', image: "" }, { child_id: 2, name: '浓香水EDP', image: "" }, { child_id: 3, name: '香体走珠', image: "" }, { child_id: 4, name: '古龙香水男士的最爱', image: "" } ] }, { cate_id: 4, cate_name: "个人护理", ishaveChild: false, children: [] } ], curNav: 1, curIndex: 0 }, //事件处理函数 switchRightTab: function (e) { // 获取item项的id,和数组的下标值 let id = e.target.dataset.id, index = parseInt(e.target.dataset.index); // 把点击到的某一项,设为当前index this.setData({ curNav: id, curIndex: index }) } })

js的代码有点长,但是宏观看一下逻辑就很清晰了

cateItems 展示的数据

curNav 控制当前那个按钮点亮

curIndex 根据此参数来拿第几个分类的数据

switchRightTab 分类tab事件的处理

cateItems里的数据每一个对象都是一个品类的数据,拿第一个品类护肤来说,

cate_id 识别的id

cate_name 一级分类名称

ishaveChild 判断是否有子集

children 二级目录的数据

classify.wxml

<!--主盒子--> <view class="container"> <!--左侧栏--> <view class="nav_left"> <block wx:for="{{cateItems}}"> <!--当前项的id等于item项的id,那个就是当前状态--> <!--用data-index记录这个数据在数组的下标位置,使用data-id设置每个item的id值,供打开2级页面使用--> <view class="nav_left_items {{curNav == item.cate_id ? 'active' : ''}}" bindtap="switchRightTab" data-index="{{index}}" data-id="{{item.cate_id}}">{{item.cate_name}}</view> </block> </view> <!--右侧栏--> <view class="nav_right"> <!--如果有数据,才遍历项--> <view wx:if="{{cateItems[curIndex].ishaveChild}}"> <block wx:for="{{cateItems[curIndex].children}}"> <view class="nav_right_items"> <!--界面跳转 --> <navigator url="../../detail/detail}}"> <image src="{{item.image}}"></image> <text>{{item.name}}</text> </navigator> </view> </block> </view> <!--如果无数据,则显示数据--> <view class="nodata_text" wx:else>该分类暂无数据</view> </view> </view>

这里面要讲解的有