豆瓣评分小程序Part-2
文章目录
- 一、主要内容
- 二、滚动框的实现
- 三、星星组件的实现
- 四、效果图
- 五、结尾
一、主要内容
影院热映横向滚动框 和 星星评分组件(满分10分,五颗星,一颗两分)
二、滚动框的实现
1、分析
不管是影院热映还是豆瓣热门,都是一样的布局,所以我们只要将影院热映这一大盒子实现即可
分析图如下:
2、首页单项布局
在index.wxml文件中,我们先写出modelGroup(模型组)、modelTop(模型的顶部)、modelTitle(模型标题)、more(查看更多)、itemNavigator(一项电影导航图)
【说明】在navigator中的东西我们可以多复制几份,为了更好理解
3、图片外部链接
上述src导入外部链接,可以在豆瓣电影中随便选取一部电影,右键点击,复制图片地址即可
4、首页布局
index.wxss图1:
index.wxss图2:
5、增加样例
我们多复制四个样例,一行五项,更好理解
6、小修改
在滚动图滚动到最右边后,我们发现和上面的查看更多是不对齐的,这是因为在itemNavigator(每一项的导航图)中加入了margin-right:20rpx(每一个导航盒子右边空出20rpx),我们可以只让最后一项的margin-right等于0
【说明】
添加这么多项肯定不纯粹的用复制粘贴呐,不然一个小项目光wxml文件就几百上千行了,后面我们会用到wx:for列表渲染,大家目前先了解这样布局(〃‘▽’〃)
三、星星组件的实现
1、分析
现在还差每一项下面的星星和评分,评分当然目前自己写个text就行,那么星星要对应的上咱的评分,满分10分,一颗星(高亮星星)2分,半颗星(半亮星星)1分,没星星(灰色星星)0分
【eg】如果是7.4分,那么要出现三颗星和一颗半星,一颗不亮的星星(总共加起来5颗),为了单独解决这个问题,我们可以自定义stars组件来解决问题
2、创建和使用stars组件
大家可以参考我之前写的 豆瓣评分小程序Part-1 ,这里不过多讲述
【二、实现】中的【2、建立searchbar组件】
在index.json文件中要使用stars组件,之后在index.wxml文件中movieName(电影名)后面使用即可
3、加入星星图片
4、增加组件属性与使用
我们在stars.js文件中增加它的属性,type(类型)是数字型,value(值)默认0,那么我们就可以在首页index.wxml文件中使用(因为主页中rate评分这一属性会涉及到我们接下来关于星星的问题)
stars.js图1:
index.wxml图2:
5、stars初步wxml文件
先rateGroup(评分组)大盒子套起来,但是发现我们只能先把这三张图片插进去,并不能根据评分是多少让每一张出现的次数变化
6、stars组件wxss文件
7、解决星星问题
① 我们可以通过wx:for列表渲染,让图片重复出现
eg:
评分7.2,对应的一整颗星星(高亮星星)应该有3个,那么可以创建一个数组,建立for循环,这个数组里可以存放1, 2 ,3 三个元素,那么相应的在image里使用wx:for,就会渲染三次图片,从而让图片出现三次
Q:wx:for列表渲染是什么?
A:可以查看微信官方文档 列表渲染 ,简单的用法也可以查看为之前的博客 零基础微信小程序Day3
② 在stars组件的js文件中解决
在lifetimes(生命周期)字段中的attached()函数中进行编写
Q:为什么在lifetimes中写,这是啥?
A:可以查看微信官方文档 组件生命周期, 可以先记下来,就在这里面写
stars.js图1:
可是wx:for只能渲染列表(数组),所以我们建立对应的数组,是几颗星对应数组里有几个元素
stars.js图2:
对应的咱就要改写相应的wxml文件
stars.wxml图3:
8、增加并使用rateNum
为了增强逻辑性,我们可以创建rateNum变量(rateNum=rate存在?并且大于0?如果是的那就保留一位小数点,否则就赋值“未评分”)
stars.js图1
stars.wxml图2
9、更新数据
接下来setData是一种数据更新的模板、套路,一回生二回熟
setData 函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步)
四、效果图
效果图1:
效果图2:
五、结尾
这里只简单修改了两组数据,但是大家会发现这些数据其实都是死的,都是我们人为编写的。那么想要活的数据,就要涉及到API接口了,而且wxml文件中也不该如此的繁冗,我们下一篇文章进行讲述
有任何问题的话,欢迎各位指出~ ヾ(◍°∇°◍)ノ゙
豆瓣评分小程序Part-2相关推荐
- 豆瓣评分小程序Part-3
文章目录 一.主要内容 二.wx:key 三.单布局实现 四.整体布局 五.效果图 六.结尾 一.主要内容 主页面"影院热映"."近期热门剧集"."近 ...
- 豆瓣评分小程序星星评分组件
豆瓣评分小程序星星评分组件 评分功能:小星星,多处使用,所以抽出成为component组件,然后在需要使用的页面按需注册导入 1.1,新建component名为stars 1.2,然后按需在页面注册 ...
- 微信小程序从无到有(仿写豆瓣评分小程序)
目录标题 写在前面 页面顶部 搜索栏 主页搜索栏 搜索详情页 首页板块 电影评分 请求网络数据 查看更多页面 详情页设计 评论页设计 项目文件整体结构 运行效果演示 项目总结 写在前面 前段时间跟着某 ...
- 豆瓣评分小程序Part-1
文章目录 一.主要内容 二.实现 三.效果图 四.结尾 一.主要内容 搜索栏的实现(主页面是导航栏,点进去变成搜索栏) 导航栏图1: :搜索栏图2: 二.实现 1.基本布局 首页是index,打出&q ...
- 基于微信小程序的评分小程序
文末联系获取源码 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/my ...
- 微信小程序无法访问豆瓣API, 豆瓣图书小程序示例
一.访问豆瓣API 官方API地址:图书 Api V2 按照API的示例,图书检索的URL为:https://api.douban.com/v2/book/search?q=检索信息&star ...
- 实现豆瓣电影小程序(任性coding)
1.简述 本人不是资深电影迷 ,但是喜欢看电影,有好的电影就会购票去电影院仔(hu)细(hu)观(da)赏(shui). 嗯....,前几天刚刚看了一部电影<追龙2>,之前一直都没看过追龙 ...
- 如何在微信给视频照片做征集投票评分,教你快速制作投票评分小程序
免费在微信发起照片视频文档软文征集投票活动,支持公众号投票,小程序投票,微信照片征集投票 很多校园社团.公司,都需要组织各种各样的评选投票打分活动,例如:校园歌手大赛.最美宿舍评比. ...
- 解决小程序api为http和豆瓣限制小程序使用api问题
关于豆瓣api的调用,前几天使用的时候发现了很多问题,就是官方限制了小程序使用api,尽管豆瓣官方提供的接口就是https的但是小程序就是无法获取豆瓣的数据,然后我就找了很多种方法,发现了几点: 1. ...
最新文章
- mysql 允许远程登录
- 一大波数据来袭 网络桃色陷阱暗藏致命危机
- Mac 技术篇-苹果笔记本休眠启动后WIFI连接转圈卡死置灰不可用解决方法,mac通过终端杀进程实例演示
- git 历史版本导出_Git基础知识(九)
- qt给qdialog加一个滚动条_这些小程序技巧,你敢说你一个用不到?
- 恒大紧急辟谣“资金链断裂”,股价止跌回升
- 1005. Maximize Sum Of Array After K Negations
- c语言函数调用费波那楔数列,【算法】费波那契数列算法
- Tkinter文件夹选择路径功能+打开位置目录功能(Python3.6.X)
- 小米红米有锁机如何刷机升级MIUI12.5系统-完美解锁机刷机教程
- 学习HALCON视觉必会的入门知识| 东哥机器视觉培训
- bugly android升级,android 新版本升级示例源码(bugly)
- 【找工作必读】来自IT公司速查手册的各大IT公司薪资
- makefile中wildcard的理解
- 使用服务器端控制AJAX页面缓存
- 双重检查锁与单例模式
- 论文浅尝 | MISC:融合COMET的混合策略模型进行情感支持对话
- 狄利克雷分布的matlab代码实现和R语言函数调用
- SqlServer中with(nolock)详解
- 医院信息系统的业务功能详解
热门文章
- 极光科研中心 · 资源开发区(ACM工程/MEP工程/STL标准库/先进书写)
- 2020-11-09 mintUI框架 ios没法上拉问题
- 杂谈(10)分享xiaobenny的辞职信
- oracle R11g高级安装详细教程
- 看明星的百科,可以学习
- matlab调用python编译器_Matlab转python编译器-Matlab/Octave转Python编译器(smop) 0.2.5 免费版 - 河东下载站...
- p12文件和provision profile文件作用
- 区块链100讲:能够证明你是你的数字签名和多重签名
- php获取所有url地址_php 获取完整url地址
- 苹果5S A1528,5C A1526 升级移动4G网络教程