当前位置: 首页 > article >正文

《微信小程序开发从入门到实战》学习三十二

3.5 开发我的投票页面与使用tab栏切换页面

实现很简单,简单的列表页面,但是需要加在tabBar那里,加油。

3.5.1 开发我的投票页面

在app.js里的pages的数组里加上"pages/myVote/myVote",保存了后出现了myVote文件夹。

在myVote.wxml里加入视图层的结构:

<view class="container">

  <block wx:for="{{voteList}}">

    <view class="vote" bind:tap="onTapValue" data-vote-id="item._id">{{item.voteTitle}}</view>

  </block>

</view>

在myVote.js文件中加入逻辑层的功能。代码如下:

// pages/myVote/myVote.js

Page({

  /**

   * 页面的初始数据

   */

  data: {

    voteList: [] //用户创建的投票列表,包含投票的ID和标题

  },

  /**

   * 生命周期函数--监听页面加载

   */

  onLoad(options) {

    this.getMyVoteListFromServer()  //从服务端获取数据

  },

  getMyVoteListFromServer() {

    // TODO 当前使用伪造的数据,后面使用云开发技术从服务端获取数据

    const voteList = [{

      _id: 'test',

      voteTitle: '测试投票1'

    },{

      _id: 'test',

      voteTitle: '测试投票2'

    },{

      _id: 'test',

      voteTitle: '测试投票3'

    }]

    this.setData({

      voteList

    })

  },

  onTapVote(e){

    const voteID = e.currentTarget.dataset.voteId //这里dataset.voteId别改,data-vote-id取值驼峰是这样

    wx.navigateTo({

      url: '/pages/vote/vote?voteID=' + votID,

    })

  }

})

在wxss里加些样式,代码如下:

.vote {

  margin: 20rpx;

  padding: 24rpx;

  background: #eee;

  border-bottom: 1rpx solid #fff;

}

预览效果如下:

投票页面真简单,哈哈。期待下一章云开发

3.5.2 使用tab栏切换页面

首页与我的投票页面是两个普通的页面,需要在app.json文件设置tabBar属性将它们设置到底部tarBar栏。tabBar属性与windows属性同级,放在它下面。app.json代码如下:

  "tabBar": {

    "color": "#333",

    "selectedColor": "#26AB28",

    "backgroundColor": "#eee",

    "borderStyle": "white",

    "list": [{

      "pagePath": "pages/index/index",

      "text": "新建"

    },{

      "pagePath": "pages/myVote/myVote",

      "text": "我的"

    }]

  }

预览效果如下:

                                                3-43

截图的调试器tabBar样式不对劲

但手机扫描二维码,在手机上看很正常。 

以为底部tabBar很难,想不到实现那么简单,微信开发工具做了不少封装。

下一章 云开发敬请期待


http://www.kler.cn/a/146470.html

相关文章:

  • HTML中link的用法
  • UDP报文格式
  • 生成订单号工具类
  • ubuntu20.04安装MySQL5.7
  • SpringMVC——原理简介
  • ecmascript:2.模版字符串
  • Spring Boot + hutool 创建海报图片
  • Typescript和Javascript的区别是什么?一文带您了解Typescript排名飙升的原因!
  • Open3D库进行点云的DBSCAN密度聚类和可视化 c++ 代码
  • 【Java】使用IntelliJ IDEA搭建SSM(MyBatis-Plus)框架并连接MySQL数据库
  • 【开源】基于Vue和SpringBoot的木马文件检测系统
  • 在Linux中对Docker中的服务设置自启动
  • 一起学docker系列之八使用 Docker 安装配置 MySQL
  • 梨花声音教育,美食视频配音再次挑战味蕾
  • rdf-file:分布式环境下的文件处理
  • 131.类型题-计算数学序列的和,请编写函数fun,其功能是S=……【满分解题代码+详细分析】(数学序列的和类型题-C/C++JavaPython实现)
  • 小程序wx:if和hidden的区别?
  • 卸载软件最最最彻底的工具——Uninstall Tool
  • PgSQL技术内幕-Analyze做的那些事-pg_stat_all_tables
  • LLaMA 2:开源的预训练和微调语言模型推理引擎 | 开源日报 No.86
  • 【虚拟机】在VM中安装 CentOS 7
  • 如何使用内网穿透将Tomcat网页发布到公共互联网上【内网穿透】
  • 首批!创邻科技入选《图数据库金融应用场景优秀案例》
  • python之yaml技术(可用于写接口自动化的测试用例文件)
  • 01、copilot+pycharm
  • 【Linux】vim-多模式的文本编辑器