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

news2024/10/2 3:32:03

3.4 开发参与投票页面

3.4.2 借用伪造数据开发功能

为了便于开发,新建一个编译模式:

之前没看文章,每次都习惯性填完投票创建的信息提交再跳转看效果。好累。 添加变异模式开发真方便。

另外,点击提交后没跳转到投票页面,通过uni-app路由跳转(redirectTo、navigateTo)不生效_uni.redirectto不生效_小玲子小玲子的博客-CSDN博客

发现自己的redirectTo方法中的url属性值前面没加上/,现在已经改了《微信小程序开发从入门到实战》二十六,书中代码没问题,自己粗心大意没控制住,哎。

接下来修改pages/vote/vote.js文件的代码:

// pages/vote/vote.js

Page({

  /**

   * 页面的初始数据

   */

  data: {

    voteID:'',

    type:'',

    voteTitle: '',

    voteDesc: '',

    optionList: [],

    endDate: '', //用于保存截止日期

    isAnonymous: false,

    isExpired: false, 

    pickedOption:[] //当前用户选择的选项

  },

  /**

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

   */

  onLoad(options) {

    const voteID = options.voteID //通过页面路径参数获取投票ID

    this.getVoteDateFromServer(voteID) //从服务器端获取投票信息

  },

  checkExpired(endDate){

    const now = new Date()

    const nowYear = now.getFullYear() 

    const nowMonth = now.getMonth() + 1 

    const nowDay = now.getDate()

    const endDateArray = endDate.split('-') //将字符串分隔成字符数组,分隔符为-

    const endYear = Number(endDateArray[0]) //取字符数组中的年份,并将数据类型转换为number

    const endMonth = Number(endDateArray[1]) //取字符数组中的月份,并将数据类型转换为number

    const endDay = Number(endDateArray[2]) //取字符数组中的日期,并将数据类型转换为number

    //判断是不是年份超了

    if(nowYear > endYear){

      return true

    }

    //判断是不是月份超了

    if((nowYear === endYear) && (nowMonth > endMonth)){

      return true

    }

    //判断是不是日期超了

    if((nowYear === endYear) && (nowMonth === endMonth) && (nowDay === endDay)){

      return true

    }

    //其他情况一定超了 

    return false

  },

  getVoteDateFromServer(voteID) {

    if(voteID === 'test'){ //如果投票ID为test,则伪造一些测试数据

      const voteData = {

        type:'radioVote',

        voteTitle: '测试数据投票标题',

        voteDesc: '测试数据投票描述',

        optionList: ['测试数据选项1','测试数据选项2','测试数据选项3','测试数据选项4'],

        endDate: '2023-12-30', //用于保存截止日期

        isAnonymous: false

      }

      /* 以上是伪造的测试数据*/

      const isExpired = this.checkExpired(voteData.endDate) //检查投票是否已经过期

      this.setData({

        voteID,

        type: voteData.type,

        voteTitle: voteData.voteTitle,

        voteDesc: voteData.voteDesc,

        optionList: voteData.optionList,

        endDate: voteData.endDate,

        isAnonymous: voteData.isAnonymous,

        isExpired

      })

    }else{

      // TODO 真的从服务端获取投票信息

    }

  },

})

借用的伪造的测试数据完成了数据的加载。现在将这些逻辑层的数据在视图层进行展示了。

3.4.2 借用伪造数据开发功能完成。

3.4.3 使用radio单项选择器组件敬请期待。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1241459.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Oracle中文显示???????解决办法

项目场景: Oracleoracle中文显示???解决办法 问题描述 原因分析: Oracle中文显示???通常是由于字符集不匹配或者编码问题导致的。当数据库中的数据使用的是某种字符集,而客户端或者应用程序使用的是另一种字符集时,就会出…

基于51单片机的病床呼叫系统设计

**单片机设计介绍, 基于51单片机的病床呼叫系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机的病床呼叫系统是一种用于医疗机构的设备,旨在提供快速、可靠的病人呼叫和监控功能。以下是…

使用yum安装jdk,并配置环境变量

写在前面: yum安装的jdk,默认不用配置环境变量就可以java -version显示结果,但是却不能在系统环境变量中查看到JAVA_HOME,由于其他应用需要这个环境变量,比如hadoop,所以这里说明如何进行java的相关环境变量配置 1. y…

基于springboot实现实习管理系统的设计与实现项目【项目源码+论文说明】计算机毕业设计

基于sprinmgboot实现实习管理系统的设计与实现演示 摘要 随着信息化时代的到来,管理系统都趋向于智能化、系统化,实习管理也不例外,但目前国内仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大,…

11月23日星期四今日早报简报微语报早读

11月23日星期四,农历十月十一,早报微语早读。 1、我国5G基站总数达321.5万个; 2、2023年两院院士增选结果揭晓,共133人当选; 3、北京低保标准提升至每人每月1395元; 4、上海制定体育发展条例&#xff1a…

2023 年亚马逊黑色星期五和网络星期一的企业电子商务指南

亚马逊黑色星期五和网络星期一 周末即将到来!感恩节于 11 月 23 日举行,紧接着是 24 日黑色星期五和 27 日网络星期一。您的亚马逊业务准备好应对大量涌入了吗? 我们相信您已经准备好黑色星期五优惠并准备好库存,以确保您有足够的…

小型洗衣机哪个牌子好用又耐用?最好用的迷你洗衣机

随着大家工作的压力越来越大,下了班之后只能想躺平,在洗完澡之后看着还需要手洗的内衣裤真的很头疼。有些小伙伴还有会攒几天再丢进去洗衣机里面一起,而且这样子是非常不好的,用过的内衣裤长时间不清洗容易滋生细菌,而…

在线接口测试工具fastmock使用

1、fastmock线上数据模拟器 在平时的项目测试中,尤其是前后端分离的时候,前端人员需要测试调用后端的接口,这个时候会出现测试不方便的情况。此时我们可以使用fastmock平台在线上模拟出一个可以调用的接口,方便前端人员进行数据测…

合伙人注册即得/创业平台扶持!

问心一语持续体验中~ 与公司签订线下(线上)纸质合伙人代理合同,具备法律效力。 一级直推、非一级直推注册即得奖励。(消耗完毕被邀请用户赠送的AI免费使用条数) 即:邀请1人注册即得并消耗!只需注册无需充值&#xff…

YOLOV5标注训练自己的数据全流程教程

概述 yolo在目标检测领域是非常有代表性的模型,它速度快识别效果也很精准,是实时检测模型中应用最广泛的。yolo的原理和代码是很容易获得的,且有各式各样的教程,但是模型怎么使用的教程相对比较少。本文讲解如何使用yolov5模型训…

Tekton — 通过tekton-operator部署tekton组件

文章目录 版本信息部署准备安装卸载tekton组件 Tektoncd Operator 作为一个 Kubernetes 的扩展,可以方便快捷地在 Kubernetes 集群上安装、升级和管理 Tekton Pipelines、Dashboard、Triggers 等组件。 那么本篇文章介绍在K8S集群中如何通过tekton-operator部署Tekt…

基于单片机的空气质量实时监测系统(论文+源码)

1. 系统设计 通过文献和市场调查,本设计的实现方案框架是以单片机为核心控制处理器搭建外围的功能模块如温度传感器模块、湿度传感器检测模块、二氧化碳传感器检测设备模块、无线通信模块和蜂鸣器声光报警提示模块来实现,辅以显示模块来展示。 该系统通…

分布式篇---第一篇

系列文章目录 文章目录 系列文章目录前言一、分布式幂等性如何设计?二、简单一次完整的 HTTP 请求所经历的步骤?三、说说你对分布式事务的了解前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,…

测绘资质地理信息系统工程乙级申请要求材料

新测绘资质分为10个专业 1.大地测量 2.测绘航空摄影 3.摄影测量与遥感 4.工程测量 5.海洋测绘 6.界线与不动产测绘 7.地理信息系统工程 8.地图编制 9.导航电子地图制作 10.互联网地图服务。 新《测绘资质管理办法》和《测绘资质分类分级标准》,自2021年7…

如何恢复删除的文件或文件夹?记好这4个正确方法!

“各位朋友,我想问下删除的文件或文件夹能通过什么方式恢复呢?我在清理时误删了一些重要的数据,想把它们恢复但是却不知道应该怎么操作,请大家帮帮我!” 在日常使用电脑的过程中,我们常常会不小心删除一些重…

foxmail一键获取所有主流平台安全资讯、博客、公众号、威胁情报

很多安全岗位人员苦于没办法从众多主流安全平台获取最新安全资讯,或了解最新安全技术,现在有解决办法了,通过foxmail导入RSS阅读文件,此文件精心制作,包含所有主流安全资讯平台。步骤如下: 打开foxmail&am…

数据库系统之常用数据库你用过几个?

MySQL 开发厂商:AB公司——>Sun公司——>甲骨文公司 最新版本:5.7.43、8.0.34 发行方式: 社区版(MySQL Community Server) 免费,MySQL不提供任何技术支持 商业版(MySQL Enterprise Edition&#xff0…

java算法学习索引之二叉树问题

一 分别用递归和非递归方式实现二叉树先序、中序和后序遍历 用递归和非递归方式,分别按照二叉树先序、中序和后序打印所有的节点。我们约定:先序遍历顺序为根、左、右;中序遍历顺序为左、根、右;后序遍历顺序为左、右、根。 递…

FIB表与快速转发表实验

实验名称:FIB表与快速转发表实验 网络拓扑图: 实验步骤: 1、配置接口的IP地址 R1: R2: 2、配置OSPF路由协议 在R1宣告网段 在R2宣告网段 3、查看邻居状态,一直处于2-way状态,要等待30秒&…