网站首页 > 技术文章 正文
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单项选择器组件敬请期待。
猜你喜欢
- 2024-11-03 「大促最后1天」带你了解家庭的生命周期
- 2024-11-03 uniapp-权限处理(uniapp弹出通知权限)
- 2024-11-03 万能前端框架uni app初探03:底部导航开发
- 2024-11-03 uniapp开发安卓应用踩坑记(uniapp开发项目)
- 2024-11-03 uniapp 触底加载更多数据的方法(uniapp上拉加载更多)
- 2024-11-03 uni-app plus.runtime.arguments 获取参数
- 2024-11-03 uniapp入门到进阶(必备知识扩展-1) - vue3你不知道的那些事
- 2024-11-03 遵义小红椒 带你进 uni-app 入坑指南
- 2024-11-03 uni-app从入门到进阶 系统完成项目实战
- 2024-11-03 4、类京东商城小程序_分类导航区域实现
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)