微信小程序使用自定义组件导航实现当前页面高亮

 更新时间:2020年01月02日 09:53:18   作者:我的一个道姑朋友  
这篇文章主要介绍了微信小程序使用自定义组件导航实现当前页面高亮,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

最近开发小程序,需要做一个导航,导航可以通过template写出来,但是这个项目需要在导航中处理一些逻辑,做成组件更方便些。

首先新建header文件夹,里面新建对应的js、json、wxml、wxss文件。

<!-- 公共头部组件 -->
<view class='headers'>
   <navigator open-type="redirectTo" class='logo' url="../index/index" hover-class="none">
    <image src="../../assets/img/logo2.png" mode="widthFix"></image>
   </navigator>
  <view class="phone_nav_switch" bindtap="controlNav">
    <view class="iconfont icon-daohang" hidden="{{navIsShow}}"></view>
    <view class="iconfont icon-guanbi" hidden="{{!navIsShow}}"></view>
  </view>
  <view class="nav">
    <view class="shadow {{navIsShow ? 'active':''}}" bindtap="controlNav"></view>
    <view class="bg {{navIsShow ? 'active':''}}">
      <view class='con' wx:for="{{navs}}" wx:key="item.url">
         <navigator open-type="redirect" data-index="{{index}}" class="{{index === navActive ? 'active' : ''}}" url="{{item.url}}" hover-class="none">
          {{item.text}}
         </navigator>
      </view>
    </view>
  </view>
  <!-- 返回顶部 -->
  <view class="backTop" bindtap="goTop" hidden='{{floorstatus}}'>
    <text class="icon iconfont icon-iconfonticontrianglecopy"></text>
  </view>

</view>

header.js里的导航数据

 /**
  * 组件的属性列表
  */
 properties: {
  // 当前导航高亮
  navActive: {
   // 类型
   type: Number,
   // 默认值
   value: 0
  }
 },

 data: { 
  // 导航开关 
  navIsShow: false,
  currentIndexNav: 0,
  // floorstatus: false,
  navs: [
   {
    text: '网站首页',
    url: '../index/index'
   },
   {
    text: '招商加盟',
    url: '../join/join'
   },
   {
    text: '关于煮田',
    url: '../about/about'
   },
   {
    text: '煮田美食',
    url: '../food/food'
   },
   {
    text: '最新资讯',
    url: '../news/news'
   },
   {
    text: '门店查询',
    url: '../search/search'
   },
   {
    text: '联系我们',
    url: '../contact/contact'
   },
   {
    text: '视频列表',
    url: '../videoItem/videoItem'
   }

  ]
 },

导航放在class="nav"中,header.json文件中写入

{
 "component": true
}

需要引入组件的页面的json文件写入,比如index.json

{
 "component": true,
 "usingComponents": {
  "header":"../header/header"
 }
}

然后在index.wxml引入组件,navActive是传给组件的值,目的是为了对应导航组件内的导航每一项的index,比如首页的index为0,那我在首页内定义的navActive就是0,

 <!-- 头部组件 -->
  <view class='header'> 
    <!-- 导航高亮传值 -->
     <header navActive='0'></header>
  </view>




如果相等当前页面就会高亮


需要在在heaer.js设置navActive的类型,通过上面的操作,我是能够实现当前页面导航高亮的


希望能帮到需要的人,如果觉得我上面写的不清楚的话,这是我的github
https://github.com/mazixiao/wechat_zhutian
,这个是我做好了的

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 详解如何构建Promise队列实现异步函数顺序执行

    详解如何构建Promise队列实现异步函数顺序执行

    这篇文章主要介绍了详解如何构建Promise队列实现异步函数顺序执行,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • 浅谈javascript中遇到的字符串对象处理

    浅谈javascript中遇到的字符串对象处理

    下面小编就为大家带来一篇浅谈javascript中遇到的字符串对象处理。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • 基于微信小程序实现透明背景人像分割功能

    基于微信小程序实现透明背景人像分割功能

    这篇文章主要介绍了基于小程序实现透明背景人像分割,此文主要实现识别人体的轮廓范围,与背景进行分离并保存效果图,适用于拍照背景替换及透明背景的人像图(png格式)转换,需要的朋友可以参考下
    2022-10-10
  • ES6解构赋值(数组,对象,函数)使用详解

    ES6解构赋值(数组,对象,函数)使用详解

    这篇文章主要介绍了ES6解构赋值(数组,对象,函数)使用详解,JavaScript 中最常用的两种数据结构是 Object 和 Array,解构操作对那些具有很多参数和默认值等的函数也很奏效,本文通过实例代码详细讲解需要的朋友可以参考下
    2022-11-11
  • Bootstrap实现导航栏的2种方式

    Bootstrap实现导航栏的2种方式

    这篇文章主要为大家详细介绍了Bootstrap实现导航栏的2种方式,一是利用按钮组实现、二是Bootstrap专门做了相应的css类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • JavaScript通过元素索引号删除数组中对应元素的方法

    JavaScript通过元素索引号删除数组中对应元素的方法

    这篇文章主要介绍了JavaScript通过元素索引号删除数组中对应元素的方法,涉及javascript操作数组的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • javascript之通用简单的table选项卡实现(二)

    javascript之通用简单的table选项卡实现(二)

    上篇中的选项卡存在这样的问题:把逻辑封装在table.js中,不够灵活,也就是说如果某个选项卡是实现异步请求或者跳转,而非div的显隐切换,那么就得修过table.js来达到目的,显然不是我所需要的。
    2010-05-05
  • js+css绘制颜色动态变化的圈中圈效果

    js+css绘制颜色动态变化的圈中圈效果

    这篇文章主要介绍了js+css绘制颜色动态变化的圈中圈效果,涉及JavaScript结合时间函数动态操作页面元素样式的相关技巧,需要的朋友可以参考下
    2016-01-01
  • JS+CSS实现经典的左侧竖向滑动菜单效果

    JS+CSS实现经典的左侧竖向滑动菜单效果

    这篇文章主要介绍了JS+CSS实现经典的左侧竖向滑动菜单效果,涉及JavaScript响应鼠标事件动态操作页面元素的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • JS实现轮播图案例

    JS实现轮播图案例

    这篇文章主要为大家详细介绍了JS实现轮播图案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04

最新评论