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

3.3 开发创建投票页面

3.3.13 使用页面路径参数

写了很多重复代码,现在想办法将多选和单选投票页面合二为一。

将单选页面改造作为单选多选共同页面。

修改index.js中的代码,将路径都跳转到第一个单选页面,带上单选或多选的标志,代码如下:

  onTapCreateRadioVote(){

    wx.navigateTo({

      url: '/pages/createVote/createVote?type=radioVote'

    })

  },

  onTapCreateMultiVote(){

    wx.navigateTo({

      url: '/pages/createVote/createVote?type=multiVote',

    })

  }

在页面的跳转路径后面多了些东西,如下所示

?type=multiVote

这个就是路径参数,可以在打开新页面时将一些数据传递给新的页面。以?开始,以=赋值传参,多参的话用&连接。

在/pages/createVote.js文件中的onLoad函数获取页面路径参数,代码如下:

  onLoad(options) {

    console.log(options)

  },

分别从单选和多选投票按钮进入页面,在console面板可以看到option内容:

页面路径参数被转化为Object类型的变量,通过options.type获取参数。页面路径参数永远为string类型,尽量不传递true,false和数字字符串,避免逻辑错误。

接下来修改下代码适配页面路径参数。 

在data加入显示单选还是多选投票类型的标志,在onLoad方法修改单选多选标志和导航栏文字,在表单提交formSubmit也加上单选还是多选的投票标志,代码如下:

data: {

    type:'radioVote',  //用来保存投票类型,默认单选投票,最终需要传递给服务器

...

},

formSubmit(){

    const formData = {

      type:this.data.type,

...

}

...

},

  onLoad(options) {

    console.log(options)

    this.setData({

      type: options.type

    })

    if(options.type === 'radioVote'){

      wx.setNavigationBarTitle({

        title: '创建单选投票',

      })

    }else if(options.type === 'multiVote'){

      wx.setNavigationBarTitle({

        title: '创建多选投票成功好开心',

      })

    }else{

      console.error('wrong page parameter[type]:'+options.type)

    }

    this.formReset()

  }

接下来点击多选投票按钮成功实现。开心。预览效果如下:

3.3 开发创建投票页面结束啦,

接下来开始3.4 开发参与投票页面,敬请期待。 

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

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

相关文章

阿里云 E-MapReduce 全面开启 Serverless 时代

作者:李钰 - 阿里云资深技术专家、EMR 负责人 EMR 2.0 平台 阿里云正式发布云原生开源大数据平台EMR 2.0已历经一年时间,如今EMR 2.0全新平台在生产上已经全面落地,资源占比超过60%。EMR 2.0平台之所以在生产上这么快落地,源于其…

EPT-Net:用于3D医学图像分割的边缘感知转换器

EPT-Net: Edge Perception Transformer for 3D Medical Image Segmentation EPT-Net:用于3D医学图像分割的边缘感知转换器背景贡献实验方法Dual Positional Transformer(双位置Transformer)Learnable Patch EmbeddingVoxel Spacial Positiona…

【2023 云栖】阿里云刘一鸣:Data+AI 时代大数据平台建设的思考与发布

云布道师 本文根据 2023 云栖大会演讲实录整理而成,演讲信息如下: 演讲人:刘一鸣 | 阿里云自研大数据产品负责人 演讲主题:DataAI 时代大数据平台应该如何建设 今天分享的主题是 DataAI 时代大数据平台应该如何建设&#xff0…

org.Hs.eg.db使用--持续修改

org.Hs.eg.db使用–持续修改 加载 library(org.Hs.eg.db)1 基本信息查询 1.1 display the columns columns(org.Hs.eg.db) [1] "ACCNUM" "ALIAS" "ENSEMBL" "ENSEMBLPROT" "ENSEMBLTRANS" "ENT…

C#中抽象类、抽象方法和接口暨内联临时变量的精彩表达

目录 一、抽象类 1.示例 二、抽象方法 三、接口 1.示例 2.内联表达治愈警告CA1859 (1)传统程序书写源码 (2)内联后的源码 四、多重继承 1.示例 五、显式接口成员实现 1.示例 六、总结 赠人玫瑰,手有余香&…

梅见们要靠“年轻化”突围,但代理商们面对新酒饮还需冷静

文 | 螳螂观察(TanglangFin) 作者 | kinki 沉寂了三年之后,今年酒行业再度热闹了起来,大大小小的展会接连落地,各大酒企都在忙着探索新模式、处理客情、选品招商……想要将过去三年的业绩追回来。 对于酒行业的代理…

MySQL数据库面试题总结(2022最新版)

🐶 程序猿周周 ⌨️ 短视频小厂BUG攻城狮 🤺 如果文章对你有帮助,记得关注、点赞、收藏,一键三连哦,你的支持将成为我最大的动力 本文是《后端面试小册子》系列的第 1️⃣ 篇文章,该系列将整理和梳理笔者作…

EasyExcel 注解fillForegroundColor

EasyExcel 注解fillForegroundColor 对应的颜色值 /** * 样式的数据类 * * author leiyiDong **/ Data // 头背景设置成红色 IndexedColors.RED.getIndex() HeadStyle(fillPatternType FillPatternType.SOLID_FOREGROUND, fillForegroundColor 10) // 头字体设置成20 Hea…

大数据Doris(二十八):Routine Load查看和修改作业

文章目录 Routine Load查看和修改作业 一、​​​​​​​查看导入作业状态

Audition 2024 24.0.0.46(音频剪辑)

Audition 2024是一款非常棒的音频编辑和混合软件,提供了广泛的工具和功能,用于创建、编辑、混合和设计音效。这款软件旨在加速音频和视频制作工作流程,提供具有原始音效的高质量混音。其界面构成清晰,操作简便,适合专业…

Linux下载工具XDM下载安装与使用

Windows上IDM多线程下载非常强大,即能捕捉页面上的视频、图片、音频,又能作为浏览器下载器使用,但是IDM无法在Linux下使用,除非使用wine。不过我们可以在Linux中用XDM(Xtreme Download Manager)代替IDM。 1、XDM下载 Xtreme Dow…

Java的ArrayList中关于删除的常用操作及方法

目录 remove(int index)方法 remove(Object o)方法 removeAll​(Collection c)方法 removeIf​(Predicate filter)方法 removeRange​(int fromIndex, int toIndex)方法 remove(int index)方法 remove(int index)是ArrayList类中用于删除指定位置元素的方法。它接收一个整…

小程序Canvas 2D问题解决,如安卓drawImage不执行、动态高度设置、高度1365(或4096)限制等

我的最新版小程序想在绘制时使用自定义字体,需要将旧版canvas升级到2d新版,发现了许多问题,下面记录一下并提供解决思路,仅供参考,欢迎提供新思路。 一、开发工具和安卓上drawImage不执行,绘制出来是空白&…

聊聊tomcat的connection-timeout

序 本文主要研究一下tomcat的connection-timeout ServerProperties.Tomcat org/springframework/boot/autoconfigure/web/ServerProperties.java public static class Tomcat {/*** Access log configuration.*/private final Accesslog accesslog new Accesslog();/*** Th…

github批量仓库克隆,git clone某个用户的所有仓库

利用github的api工具, 首先拿到用户名为kevin的所有仓库的url: curl "https://api.github.com/users/kevin/repos?per_page100&&page1" | grep -w clone_url >clone.txt过滤一下: grep -o https://[^"]* clone…

DM8单点_闪回查询报错flashback version has been out of date

问题描述 误操作后,闪回查询到某一时间点提示:“[-9801]:flashback version has been out of date.” SQL> SELECT * FROM PERSON_TYPE WHEN TIMESTAMP 2023-11-23 18:51:41; SELECT * FROM PERSON_TYPE WHEN TIMESTAMP 2023-11-23 18:51:41; [-9801]:flashbac…

redis运维(十九)redis 的扩展应用 lua(一)

一 redis 的扩展应用 lua redis如何保证原子操作 说明:引入lua脚本,核心解决原子性问题 ① redis为什么引入lua? lua脚本本身体积小,启动速度快 ② redis引入lua的优势 小结: 类似自定义redis命令 ③ redis中如何使用lua ④ EVAL 说明&#…

性能测试的指南:测试类型、性能测试步骤、最佳实践等!

近期公司为了节省成本搞了一波机房迁移,整合了一些南美部署架构。有一些上google云和有些下阿里云等大的调整。 在做机房迁移项目当中就需要思考如何进行性能测试,这种大的机房迁移SRE(运维)会针对组件会做一些单组件的性能测试&a…

【深度学习】参数优化和训练技巧

寻找合适的学习率(learning rate) 学习率是一个非常非常重要的超参数,这个参数呢,面对不同规模、不同batch-size、不同优化方式、不同数据集,其最合适的值都是不确定的,我们无法光凭经验来准确地确定lr的值,我们唯一可…