项目vue2.0仿外卖APP(七)
ratings评价列表页实现
在ratings.vue组件里开发
首先先引入seller数据:
书写模板结构:
由于评价页又有之前写过的star.vue组件,所以又要在ratings.vue组件引入:
- import star from 'components/star/star';
并且注册:
- components: {
- star
- }
这部分的模板:
- <template>
- <div class="ratings">
- <div class="ratings-content">
- <div class="overview">
- <div class="overview-left">
- <h1 class="score">{{seller.score}}</h1>
- <div class="title">综合评分</div>
- <div class="rank">高于周边商家{{seller.rankRate}}%</div>
- </div>
- <div class="overview-right">
- <div class="score-wrapper">
- <span class="title">服务态度</span>
- <star :size="" :score="seller.serviceScore"></star>
- <span class="score">{{seller.serviceScore}}</span>
- </div>
- <div class="score-wrapper">
- <span class="title">商品评分</span>
- <star :size="" :score="seller.foodScore"></star>
- <span class="score">{{seller.foodScore}}</span>
- </div>
- <div class="delivery-wrapper">
- <span class="title">送达时间</span>
- <span class="delivery">{{seller.deliveryTime}}分钟</span>
- </div>
- </div>
- </div>
- <split></split>
- </div>
- </div>
- </template>
书写样式:
整个ratings区块绝对定位的:
- .ratings
- position: absolute
- top: 174px
- bottom:
- left:
- width: %
- overflow: hidden
这里的overview-left区块是固定宽度,overview-right区块是自适应宽度。所以还是用了flex布局。
而且这里overview-left还是响应式的:
- .overview-left
- flex: 137px
- padding: 6px
- width: 137px
- border-right: 1px solid rgba(, , , 0.1)
- text-align: center
- @media only screen and (max-width: 320px)
- flex: 120px
- width: 120px
在这个区块下方还有个灰色间隔,因为在其他页面也有,所以这里也可以用组件化开发一个split.vue:
然后在ratings.vue引入并注册。
这样就可以用在模板里面了:
这里再通过vue.resource去获取之前处理过的data.json里面的ratings数据:
可以看到,数据已经出来了:
ratings.vue:
ratingsselect.vue:
接下来:
这三个按钮都是可以点击的,点击哪一个就会显示对应的评价,而且点击后也会出现高亮。下面还有一个可选择的文字。
当然,我们还是用组件化的思想来开发。
ratingselect.vue组件:
接着就可以在ratings.vue里引入和注册了
接下添加内容:
再写样式
结果就是这样:
接着继续完成页面的评价内容:
并且添加样式
这样页面的基本结构就出来了:
接下来在ratings.vue组件中给页面添加滚动:
加ref属性:
这样就可以滚动页面了。
接下来要实现的功能就是根据我们点击不同的按钮,显示按钮所要求的评论内容。
这里还需要将ratings.vue组件的ratings数据传给ratingselect.vue组件:
在ratingselect.vue组件计算属性:得出满意的和不满意的评论数,用filter()来过滤:
然后把数据传给DOM:
在ratingselect.vue组件添加按钮的点击状态:ALL为2:const ALL = 2;
并且添加.active的样式。
接下来要用到组件间的通信了,来传递子组件所点击的是那个按钮:
项目vue2.0仿外卖APP(七)的更多相关文章
- 项目vue2.0仿外卖APP(一)
最近用vue.js做一个仿饿了么外卖APP的项目,现在也把流程啊什么的暂时先整理一下在这个博客上面. 当然,这个过程会有点长,不过确实能学到很多东西. 话不多说,马上开始吧. 1.项目介绍 选用当前最 ...
- 项目vue2.0仿外卖APP(六)
goods 商品列表页开发 布局编写 除了商品之外还有购物车,还有个详情页,挺复杂的. 两栏布局:左侧固定宽度,右侧自适应,还是用flex. 因为内容可能会超过手机高度,超过就隐藏.左右两侧的内容是可 ...
- 项目vue2.0仿外卖APP(五)
header组件 vue-resourse应用 https://github.com/pagekit/vue-resource vue-resource是Vue.js的一款插件,它可以通过XMLHtt ...
- 项目vue2.0仿外卖APP(四)
组件拆分 先把项目搭建时生成的代码给清了吧 现在static目录下引入reset.css 接着在index.html引入,并且设置<meta> 有时候呢,为了让代码符合我们平时的编码习惯, ...
- 项目vue2.0仿外卖APP(二)
vue-cli开启vue.js项目 github地址:https://github.com/vuejs/vue-cli Vue.js开发利器vue-cli,是vue的脚手架工具. 在工地上,脚手架是工 ...
- 项目vue2.0仿外卖APP(三)
项目的结构如下: 项目资源准备 准备项目的各种图片资源等等 注意:在webpack可以不用css sprite,直接用单张图片,因为它会帮忙打包. 还有SVG图片, ...
- Vue2.0仿饿了么webapp单页面应用
Vue2.0仿饿了么webapp单页面应用 声明: 代码源于 黄轶老师在慕课网上的教学视频,我自己用vue2.0重写了该项目,喜欢的同学可以去支持老师的课程:http://coding.imooc.c ...
- vue2.0仿今日头条开源项目
vue-toutiao 这是用 vue.js 2.0 高仿 今日头条 的移动端项目,结合了原生app的部分功能以及网页版. 前言 本人是 今日头条 的重度用户,在学习vue.js过程中,在GitHub ...
- vue2.0:(一)、vue的安装和项目搭建(以外卖app项目举例)
vue系列踩坑大作战由此就要开始了,准备好了吗,和我一起踩坑,学会vue吧.同时,也欢迎大家把自己遇到的坑发出来,让更多的人学会vue,因为我深知前端学习新框架不容易,尤其是我这种半路出家的女前端.不 ...
随机推荐
- markdown常用语法总结
转自markdown示例[模板] 1.1.段落标题 根据原文中的文档标题可以对应设置标题. # 一级标题## 二级标题### 三级标题 效果 => 一级标题 二级标题 三级标题 1.2.斜体.加 ...
- WebComponent魔法堂:深究Custom Element 之 标准构建
前言 通过<WebComponent魔法堂:深究Custom Element 之 面向痛点编程>,我们明白到其实Custom Element并不是什么新东西,我们甚至可以在IE5.5上定 ...
- Javascript中关于cookie的那些事儿
Javascript-cookie 什么是cookie? 指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密).简单点来说就是:浏览器缓存. cookie由什 ...
- 在Application_Error事件中获取当前的Action和Control
ASP.NET MVC程序处理异常时,方法有很多,网上也有列举了6种,下面是使用全局处理在Global.asax文件的Application_Error事件中实现.既然是ASP.NET MVC,我需要 ...
- asp.net dataTable转换成Json格式
/// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"> ...
- centos下升级mysql后遇到的小问题
记录今天遇到的一个小问题, 写一个app访问接口涉及到通过存储过程反馈多个结果集,但是反回多个结果集的存储过程,调用之后只能反回一个了,而且奇怪的是,即使直接在mysql上同时执行两条查询语句,第一条 ...
- IOS 2D游戏开发框架 SpriteKit-->续(创建敌对精灵)
这次包括之后讲的spritekit 我都会围绕一个案例来说,这个案例就是一个简单的2d飞机大战游戏,今天这里我讲创建敌对精灵,就是敌对飞机,敌对飞机不停的被刷新到屏幕上.....当然这里涉及到的类其实 ...
- 三个linux系统共存,修改默认启动
一个mint,一个ubuntu,想要默认启动ubuntu,那么咱们这么来:修改启动顺序,我们需要修改Ubuntu的GRUB配置文件.使用常见的编辑程序如"gedit"就可以很方便 ...
- windows7 x64下maven安装和配置
http://maven.apache.org/download.cgi下载maven 环境配置 验证配置是否成功 本地仓库配置 这是原来的配置文件: 更改为: link 离线安装 eclipse m ...
- Java面试题整理一(侧重多线程并发)
1..是否可以在static环境中访问非static变量? 答:static变量在Java中是属于类的,它在所有的实例中的值是一样的.当类被Java虚拟机载入的时候,会对static变量进行初始化.如 ...