ratings评价列表页实现

在ratings.vue组件里开发

首先先引入seller数据:

书写模板结构:

由于评价页又有之前写过的star.vue组件,所以又要在ratings.vue组件引入:

  1. import star from 'components/star/star';

并且注册:

  1. components: {
  2. star
  3. }

这部分的模板:

  1. <template>
  2. <div class="ratings">
  3. <div class="ratings-content">
  4. <div class="overview">
  5. <div class="overview-left">
  6. <h1 class="score">{{seller.score}}</h1>
  7. <div class="title">综合评分</div>
  8. <div class="rank">高于周边商家{{seller.rankRate}}%</div>
  9. </div>
  10. <div class="overview-right">
  11. <div class="score-wrapper">
  12. <span class="title">服务态度</span>
  13. <star :size="" :score="seller.serviceScore"></star>
  14. <span class="score">{{seller.serviceScore}}</span>
  15. </div>
  16. <div class="score-wrapper">
  17. <span class="title">商品评分</span>
  18. <star :size="" :score="seller.foodScore"></star>
  19. <span class="score">{{seller.foodScore}}</span>
  20. </div>
  21. <div class="delivery-wrapper">
  22. <span class="title">送达时间</span>
  23. <span class="delivery">{{seller.deliveryTime}}分钟</span>
  24. </div>
  25. </div>
  26. </div>
  27. <split></split>
  28. </div>
  29. </div>
  30. </template>

书写样式:

整个ratings区块绝对定位的:

  1. .ratings
  2. position: absolute
  3. top: 174px
  4. bottom:
  5. left:
  6. width: %
  7. overflow: hidden

这里的overview-left区块是固定宽度,overview-right区块是自适应宽度。所以还是用了flex布局。

而且这里overview-left还是响应式的:

  1. .overview-left
  2. flex: 137px
  3. padding: 6px
  4. width: 137px
  5. border-right: 1px solid rgba(, , , 0.1)
  6. text-align: center
  7. @media only screen and (max-width: 320px)
  8. flex: 120px
  9. 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(七)的更多相关文章

  1. 项目vue2.0仿外卖APP(一)

    最近用vue.js做一个仿饿了么外卖APP的项目,现在也把流程啊什么的暂时先整理一下在这个博客上面. 当然,这个过程会有点长,不过确实能学到很多东西. 话不多说,马上开始吧. 1.项目介绍 选用当前最 ...

  2. 项目vue2.0仿外卖APP(六)

    goods 商品列表页开发 布局编写 除了商品之外还有购物车,还有个详情页,挺复杂的. 两栏布局:左侧固定宽度,右侧自适应,还是用flex. 因为内容可能会超过手机高度,超过就隐藏.左右两侧的内容是可 ...

  3. 项目vue2.0仿外卖APP(五)

    header组件 vue-resourse应用 https://github.com/pagekit/vue-resource vue-resource是Vue.js的一款插件,它可以通过XMLHtt ...

  4. 项目vue2.0仿外卖APP(四)

    组件拆分 先把项目搭建时生成的代码给清了吧 现在static目录下引入reset.css 接着在index.html引入,并且设置<meta> 有时候呢,为了让代码符合我们平时的编码习惯, ...

  5. 项目vue2.0仿外卖APP(二)

    vue-cli开启vue.js项目 github地址:https://github.com/vuejs/vue-cli Vue.js开发利器vue-cli,是vue的脚手架工具. 在工地上,脚手架是工 ...

  6. 项目vue2.0仿外卖APP(三)

    项目的结构如下:                   项目资源准备 准备项目的各种图片资源等等 注意:在webpack可以不用css sprite,直接用单张图片,因为它会帮忙打包. 还有SVG图片, ...

  7. Vue2.0仿饿了么webapp单页面应用

    Vue2.0仿饿了么webapp单页面应用 声明: 代码源于 黄轶老师在慕课网上的教学视频,我自己用vue2.0重写了该项目,喜欢的同学可以去支持老师的课程:http://coding.imooc.c ...

  8. vue2.0仿今日头条开源项目

    vue-toutiao 这是用 vue.js 2.0 高仿 今日头条 的移动端项目,结合了原生app的部分功能以及网页版. 前言 本人是 今日头条 的重度用户,在学习vue.js过程中,在GitHub ...

  9. vue2.0:(一)、vue的安装和项目搭建(以外卖app项目举例)

    vue系列踩坑大作战由此就要开始了,准备好了吗,和我一起踩坑,学会vue吧.同时,也欢迎大家把自己遇到的坑发出来,让更多的人学会vue,因为我深知前端学习新框架不容易,尤其是我这种半路出家的女前端.不 ...

随机推荐

  1. markdown常用语法总结

    转自markdown示例[模板] 1.1.段落标题 根据原文中的文档标题可以对应设置标题. # 一级标题## 二级标题### 三级标题 效果 => 一级标题 二级标题 三级标题 1.2.斜体.加 ...

  2. WebComponent魔法堂:深究Custom Element 之 标准构建

    前言  通过<WebComponent魔法堂:深究Custom Element 之 面向痛点编程>,我们明白到其实Custom Element并不是什么新东西,我们甚至可以在IE5.5上定 ...

  3. Javascript中关于cookie的那些事儿

    Javascript-cookie 什么是cookie? 指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密).简单点来说就是:浏览器缓存. cookie由什 ...

  4. 在Application_Error事件中获取当前的Action和Control

    ASP.NET MVC程序处理异常时,方法有很多,网上也有列举了6种,下面是使用全局处理在Global.asax文件的Application_Error事件中实现.既然是ASP.NET MVC,我需要 ...

  5. asp.net dataTable转换成Json格式

    /// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"> ...

  6. centos下升级mysql后遇到的小问题

    记录今天遇到的一个小问题, 写一个app访问接口涉及到通过存储过程反馈多个结果集,但是反回多个结果集的存储过程,调用之后只能反回一个了,而且奇怪的是,即使直接在mysql上同时执行两条查询语句,第一条 ...

  7. IOS 2D游戏开发框架 SpriteKit-->续(创建敌对精灵)

    这次包括之后讲的spritekit 我都会围绕一个案例来说,这个案例就是一个简单的2d飞机大战游戏,今天这里我讲创建敌对精灵,就是敌对飞机,敌对飞机不停的被刷新到屏幕上.....当然这里涉及到的类其实 ...

  8. 三个linux系统共存,修改默认启动

     一个mint,一个ubuntu,想要默认启动ubuntu,那么咱们这么来:修改启动顺序,我们需要修改Ubuntu的GRUB配置文件.使用常见的编辑程序如"gedit"就可以很方便 ...

  9. windows7 x64下maven安装和配置

    http://maven.apache.org/download.cgi下载maven 环境配置 验证配置是否成功 本地仓库配置 这是原来的配置文件: 更改为: link 离线安装 eclipse m ...

  10. Java面试题整理一(侧重多线程并发)

    1..是否可以在static环境中访问非static变量? 答:static变量在Java中是属于类的,它在所有的实例中的值是一样的.当类被Java虚拟机载入的时候,会对static变量进行初始化.如 ...