18.首页导航模块

2019-08-13  本文已影响0人  星chen
image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png
image.png image.png image.png image.png image.png image.png
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // (被点击的首页导航的菜单的索引)当前点击的时候选中的菜单栏是第几个索引的意思,开始等于一个0
    currentIndexNav:0,
    //首页导航数据
    navList:[]
  },

  //点击首页导航按钮
  activeNav(e){
    // console.log(123);
    //传递参数逻辑
    this.setData({
      currentIndexNav:e.target.dataset.index
    })
  },

  /**
   * 获取首页导航数据
   */
  getNavList(){
    let that=this;
    //利用小程序内置发送请求的方法
    wx.request({
      url:"https://easy-mock.com/mock/5c1dfd98e8bfa547414a5278/bili/navList",
      //请求成功之后,会帮你触发一个回调函数
      success(res){
        // console.log(res);
        if(res.data.code===0){
          that.setData({
            navList:res.data.data.navList
          })
        }
      }
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 1.获取首页导航数据
    this.getNavList();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    
  }
})
<view class="main">
    <!-- 公共头部 -->
    <MyTitle></MyTitle> 
    <!-- 首页导航 -->
    <view class="nav_wrap">
        <!-- 自己滚动区域的组件(小程序自带的) -->    
        <scroll-view class="nav" scroll-x="{{true}}">
            <!-- 因为这个标签是做一个循环生成的,所以做一个循环 -->
            <view bindtap="activeNav" data-index="{{index}}"
             class="nav_item {{index===currentIndexNav?'active':''}}" 
             wx:for="{{navList}}" wx:key="{{index}}">
                {{item.text}}
            </view>
        </scroll-view>
    </view>
</view>
page{
    color: #666;
}

/* 首页导航 */
.nav_wrap{

}
.nav{
    /* 第一件事,不要因为一个空格而换行 */
    white-space: nowrap;
    /* 加一个padding值 上下5,左右0 */
    padding: 5rpx 0;
}
.nav_item{
    padding: 20rpx 45rpx;
    /* 字体大小 */
    font-size: 30rpx;
    /* 在一行上显示 */
    display: inline-block;
}
.nav_item.active{
    border-bottom: 5px solid #de688b ;
}
上一篇下一篇

猜你喜欢

热点阅读