先看一下效果

wxml代码

<view class="container"><view class="nav"><view class="item {{current == '0' ? 'active' : ''}}" catchtap="onClick" data-id="0">首页</view><view class="item {{current == '1' ? 'active' : ''}}" catchtap="onClick" data-id="1">分类</view><view class="item {{current == '2' ? 'active' : ''}}" catchtap="onClick" data-id="2">发现</view><view class="item {{current == '3' ? 'active' : ''}}" catchtap="onClick" data-id="3">收藏</view><view class="item {{current == '4' ? 'active' : ''}}" catchtap="onClick" data-id="4">我的</view></view><view class="list"><block wx:for="{{newslist}}" wx:for-index="idx"><view class="detail" wx:if="{{idx == current}}">{{item.text}}</view></block></view>
</view>

在这部分代码中使用了自定义属性data-、三元运算、列表渲染和条件渲染。在这里特别要注意的是:wx:if="{{idx == current}}这个idx变量必须要在<block wx:for="{{newslist}}" wx:for-index="idx">这进行声明,如果没有声明,默认为index,也必须是index。微信官方文档中是这样写的:使用 wx:for-index 可以指定数组当前下标的变量名 默认数组的当前项的下标变量名默认为 index。

wxss代码

page{width: 100%;height: 100%;
}
.container{display: flex;flex-direction: column;height: 100%;
}.nav{width: 100%;height: 100rpx;background-color: skyblue;display: flex;flex-direction: row;justify-content: space-around;
}.item{font-size: 32rpx;color: #fff;height: 50rpx;width: 100rpx;line-height: 50rpx;align-self: center;text-align: center;
}.active{background-color: darkgray;border-radius: 10rpx;
}.list{width: 100%;height: 100%;display: flex;background-color: pink;
}.detail{margin: auto;
}

js代码

data: {current:0,newslist:[{text:'这是首页界面内容'},{text:'这是分类界面内容'},{text:'这是发现界面内容'},{text:'这是收藏界面内容'},{text:'这是我的界面内容'}]},onClick:function(event){var index = event.currentTarget.dataset.id;this.setData({current:index})},

点击导航按钮获取自定义属性值,并赋值于current。

其实使用轮播组件swiper也可以达到这样的效果,但是我觉得使在这样的场景使用轮播不太实际,这里就不说啦!

微信小程序导航栏切换页面相关推荐

  1. 如何去掉微信小程序导航栏,以及禁止页面滑动

    如何去掉微信小程序导航栏,以及禁止页面滑动 1.微信小程序要去掉微信自带的导航栏,只需要在app.json中加上 "navigationStyle": "custom&q ...

  2. 微信小程序导航栏或菜单栏吸顶效果简单实现

    微信小程序导航栏或菜单栏吸顶效果简单实现 思路: 1.获取导航栏初始位置距顶部的距离s1(通过获取页面标签方法) 2.监听页面的滑动,获取滑动距离s2(使用onPageScroll) 3.当s2> ...

  3. 微信小程序导航栏制作

    导航栏制作 微信小程序不同于H5,制作导航栏不方便,尤其是对于一个初学者来看:以为微信小程序中的Js与H5中的差不多,其实不然,以下就是我在学习微信小程序中制作的小程序导航栏. 页面代码 <vi ...

  4. 微信小程序导航栏高度。分析手机状态栏高度、微信小程序胶囊高度等。

    //获取系统信息的概念 console.log(uni.getSystemInfoSync()); let res = uni.getSystemInfoSync() //胶囊按钮的信息 consol ...

  5. 微信小程序导航栏怎么写

    微信小程序写到到导航栏还是非常简单得,就算没有三大框架的基础,也是非常容易理解`的. 接下来我们看看他是如何操作的: 以电商页面中常见的导航为例,会了这一种,就是会了很多种,到时根据具体需求改动即可: ...

  6. 微信小程序----导航栏透明渐变一(MUI导航栏透明渐变)

    效果体验二维码 如果文章对你有帮助的话,请打开微信扫一下二维码,点击一下广告,支持一下作者!谢谢! DEMO下载 导航栏透明渐变效果 实现原理 利用position:absolute在导航下定位一个v ...

  7. 微信小程序 左右滑动切换页面(炫酷效果)以及点赞特效

    #效果图 gif放不上来..我就直接口述了..需要看具体效果戳GitHub>>>>>demo地址 首先左右滑动的时候整个页面会以动画效果切换(demo里是反转和水平淡出) ...

  8. 使用taro自定义微信小程序导航栏

    1.在app.config.js中的window配置项的内容替换为:"navigationStyle":"custom" custom表示自定义导航栏,但会保留 ...

  9. 微信小程序----导航栏透明渐变二(MUI导航栏透明渐变)

    效果体验二维码 如果文章对你有帮助的话,请打开微信扫一下二维码,点击一下广告,支持一下作者!谢谢! 导航栏透明渐变效果 实现原理 给page-group设置的背景颜色采用rgba; 通过改变rgba其 ...

最新文章

  1. ETCD-节点挂掉会怎样?
  2. 30个使用jQuery打造的世界级一流网站
  3. GridView实现删除时弹出确认对话框
  4. Navicat数据库错误2003 Can not connect to Mysql Server on以及Windows无法启动mysql 错误1069
  5. 前端学习(1738):前端调试值之快速切换pc和手机端
  6. jetson tx2/nano上yolov4测试
  7. PCL 1.8.1 在VS2015中配置 包含目录、库目录和附加依赖项
  8. java 中半圆的函数,前端程序员必须掌握之三角函数在前端动画中的应用
  9. 《程序员的数学》读书计划
  10. \x3c\x73\x63\x72\x69\x70\x74\x3ealert('xss');\x3c\x2f\x73\x63\x72\x69\x70\x74\x3e
  11. 天梯 L1 Practic1 题解合集
  12. 鹏业安装算量软件V8.0.0.92升级内容
  13. 环境样品中病毒的富集与检测方法
  14. 物联网大赛“千里挑一”,华为、上海交大共铸人才引擎
  15. JAVASE、JAVAEE(J2EE)、
  16. 招行193亿港元收购永隆银行53.1%股份
  17. 【cue语言系列】03.json marshal和unmarshal
  18. 数据库系统工程师任职要求
  19. 如何在 1999 年使用 MacOS 8.6 上的 Macromedia Director 构建经典的点击式冒险游戏
  20. 数字孪生石油管理平台的能力介绍

热门文章

  1. 【WPS在线文档转换】
  2. VR科普主题项目VR模拟体验设备VR科普馆
  3. 超简单EventBus使用
  4. 2021年福建高考成绩排名查询,2021年福建高考成绩排名查询系统,福建高考位次排名查询...
  5. 《一步一步看源码:Nacos》框架源码系列之一(其1,配置服务源码)
  6. Matlab 关闭提醒,开始使用MATLAB?[关闭]
  7. Error(1.0.5 1107071739): D:\SAE_SDK_Windows_1.0.5\apps\/divjs/1/config.yaml is not existed解决方法...
  8. Linux Mysql8.0安装
  9. The Shawshank Redemption-12
  10. 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定制Android平台系统