微信小程序之 catalog 切换
组件名称:catalog
组件属性:catalogData,type:String
组件描述:这是一个子组件,数据从父组件中传递
效果图:

catalog 目录为多个,使用 scroll-view 容器。但是在当前组件中,只写每个 catalog 数据展示并实现 catalog 切换效果,这样会保证当前组件的最小粒度。
分析当前组件可能用到的属性为:组件名称,切换状态,未选中状态,切换点击方法。
<block wx:for="{{catalogData}}" wx:key="id" wx:for-item="item" class="item">
<view class="scroll-view-item catalog-title {{curIndex == index ? 'catalog-active' : 'catalog-normal'}}" data-index="{{index}}" catchtap="goIndex">{{item.catalog}}</view>
</block>
curIndex 为点击当前 catalog 时获取的 index
index 为 catalogData 这个数组默认的 index, 也就是 data-index 的值
goIndex 为点击当前 catalog 的方法,通过点击获取到 curIndex 的值 通过判断当前 curIndex 是否与数组中的 index 是否相等,如果相等,则给当前 catalog 添加选中的样式 catalog-active,否则添加 catalog-normal。
更新默认 curIndex 的默认值
Component({
/**
* 组件的属性列表
*/
properties: {
catalogData:{
type: Array,
}
},
/**
* 组件的初始数据
*/
data: {
curIndex:0
},
/**
* 组件的方法列表
*/
methods: {
goIndex(event) {
let nextIndex = event.currentTarget.dataset.index;
this.setData({
curIndex: nextIndex
})
console.log(this.data.curIndex + '=' + nextIndex);
},
}
})
微信小程序之 catalog 切换的更多相关文章
- 微信小程序写tab切换
微信小程序之tab切换效果,如图: 最近在学习微信小程序并把之前的公司app搬到小程序上,挑一些实现效果记录一下(主要是官方文档里没说的,毕竟官方文档只是介绍功能) .wxml代码: <view ...
- 微信小程序Tab选项卡切换大集合
代码地址如下:http://www.demodashi.com/demo/14028.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.co ...
- 微信小程序左右滑动切换页面示例代码--转载
微信小程序——左右滑动切换页面事件 微信小程序的左右滑动触屏事件,主要有三个事件:touchstart,touchmove,touchend. 这三个事件最重要的属性是pageX和pageY,表示X, ...
- 微信小程序开发--路由切换,页面重定向
这段时间开发了一个微信小程序,虽然小程序的导航API 官方文档写得很详细,但是在具体开发过程中还是会遇到很多不明白,或者一时转不过弯的地方. 1.页面切换传参,参数读取 1.1 wx.navigat ...
- 微信小程序左右滑动切换图片酷炫效果
开门见山,先上效果吧!感觉可以的用的上的再往下看. 心动吗?那就继续往下看! 先上页面结构吧,也就是wxml文件,其实可以理解成微信自己封装过的html,这个不多说了,不懂也没必要往下看了. < ...
- 微信小程序左右滑动切换图片酷炫效果(附效果)
开门见山,先上效果吧!感觉可以的用的上的再往下看. 心动吗?那就继续往下看! 先上页面结构吧,也就是wxml文件,其实可以理解成微信自己封装过的html,这个不多说了,不懂也没必要往下看了. < ...
- 微信小程序 主题皮肤切换(switch开关)
示例效果: 功能点分析: 1.点击switch开关,切换主题皮肤(包括标题栏.底部tabBar):2.把皮肤设置保存到全局变量,在访问其它页面时也能有效果3.把设置保存到本地,退出应用再进来时,依然加 ...
- 微信小程序标签页切换
WXML中: <view class="swiper-tab"> <view class="swiper-tab-list {{currentTab== ...
- 微信小程序组件-----城市切换
直接上地址,有需要的直接下载,使用: https://github.com/chenjinxinlove/citySelect
随机推荐
- 【原创】REPORT自动生成工具
---------------------------------------------- 本博客所有原创文章,未经博主允许,请勿转载. ------------------------------ ...
- jdbc大略
一.概述JDBC JDBC从物理结构上说就是Java语言访问数据库的一套接口集合. 从本质上来说就是调用者(程序员)和实现者(数据库厂商)之间的协议. JDBC API: 使得开发人员可以使用纯Jav ...
- 如何在mac版本的python里安装pip
mac里面python自带easy_install,在终端里面执行sudo easy_install pip.运行完可以用pip help测试一下是否安装成功,成功安装后,直接pip install ...
- CodeForces - 1230D(思维+位运算)
题意 https://vjudge.net/problem/CodeForces-1230D 要组建一个小组,要求小组中每个人都不比所有人强,当一个人懂得一个算法但是另一个不懂那么前者认为他比后者强. ...
- 04-Node.js学习笔记-相对路径VS绝对路径
4.1相对路径VS绝对路径 大多数情况下使用绝对路径,因为相对路径有时候相对的是命令行工具的当前工作目录 在读取文件或者设置文件路径时都会选择绝对路径 4.2使用__dirname 获取当前文件所在的 ...
- 最小化MarkdownPad 2安装体积(win10)
一.原因 MarkdownPad2在Win10当中可能无法正常运行,右侧预览界面会出现错误"This view has crashed!"查阅官网FAQ得知大多数情况下安装Awes ...
- 阿里云服务器 ECS Jenkins 安装教程
参考:https://blog.csdn.net/liqing0013/article/details/83930419
- linux--新装机图形化界面遇到的问题
1 许可证信息 q 退出 c 继续 r 刷新 按以下顺序正确输入即可: 1 ------ 2 ----- q ----- yes
- 新安装ubuntu系统的简单优化
新安装的ubuntu系统,需要做下简单的优化,使其符合常用习惯,优化过程的命令与centos大都不一致,撰文备份,以备所需: 1.获取ubuntu系统root权限 在终端输入sudo passwd r ...
- NRF51822/NRF51802/NRF52832/NRF52810/NRF52811/NRF52840内核对比
NRF51822的内核为M0,FLASH是256K,RAM是16K,蓝牙BLE4.0/4.2(SDK新版本支持4.2)NRF51802的内核为M0,FLASH是256K,RAM是16K,蓝牙BLE4. ...