Vue实现商品详情页的评价列表功能


Posted in Javascript onSeptember 04, 2019

本篇我们来实现商品详情页的评价列表。

Vue实现商品详情页的评价列表功能 

必要的数据

这里咱们举一个数据的例子,明明白白地了解这些数据是如何绑定到模板中的。

数据来自于Foods父组件,当我们选中商品,跳转到商品详情页,那么就需要依赖父组件中的商品数据,在商品详情页面展示评论,当然也可能没有如下“rating”数据。那我们在后面的模板中,就不展示对应的html结构。

{
            "id": 96985579,
            "name": "麦辣鸡翅2块",
            "min_price": 11,
            "praise_num": 22,
            "praise_content": "赞22",
            "tread_num": 0,
            "praise_num_new": 22,
            "unit": "例",
            "description": "",
            "picture": "http://p0.meituan.net/xianfu/38bbfa3f955cbce3330f1cb6818d0ce6216794.png.webp",
            "month_saled": 948,
            "month_saled_content": "月售948",
            "status": 3,
            "status_description": "非可售时间",
            "product_label_picture": "http://p1.meituan.net/aichequan/04789347d755465713550540942265d36475.png",
            "rating": {
              "comment_count": 4,
              "title": "外卖评价",
              "snd_title": "4条评论",
              "praise_friends": "",
              "like_ratio_desc": "好评度",
              "like_ratio": "100%",
              "filter_type": 1,
              "comment_list": [
                {
                  "user_icon": "https://img.meituan.net/avatar/71ef89fa000e783d5b8d86c2767a9d28195580.jpg",
                  "user_name": "ejX309524666",
                  "comment_time": "2017.08.31",
                  "comment_unix_time": 1504161290,
                  "comment_content": "#奶油坚果酱中套餐#不好吃。还是奥尔良,麦辣鸡腿那些最经典的汉堡好吃。薯条软得不能再软了。我备注了可乐换芬达也没有换。#麦辣鸡翅2块#就还好,里面的肉挺嫩的,很入味。"
                }, {
                  "user_icon": "https://img.meituan.net/avatar/6571c42526237b0118f437418e989d1187445.jpg",
                  "user_name": "EAG789830055",
                  "comment_time": "2017.08.18",
                  "comment_unix_time": 1503030166,
                  "comment_content": "#麦辣鸡翅2块#送错"
                }
              ]
            }
          }

Food组件添加商品评价结构

好,现在让我们将评价结构搭出来,并且绑定对应的数据。

<templete>
  <transtition name="food-detail">
    <div class="food" v-show="showFlag" ref="foodView">
      <div class="food-wrapper">
        <div class="food-content"></div>
         <!-- 商品评价列表结构,数据的绑定渲染 -->
        <div class="rating-wrapper">
           <div class="rating-title">
            <div class="like-ratio" v-if="food.rating">
             <span class="title">{{food.rating.title}}</span>
             <span class="ratio">
              (
              {{food.rating.like_ratio_desc}}
              <i>{{food.rating.like_ratio}}</i>
              )
             </span>
            </div>
            <div class="snd-title" v-if="food.rating">
             <span class="text">{{food.rating.snd_title}}</span>
             <span class="icon icon-keyboard_arrow_right"></span>
            </div>
           </div>
           <ul class="rating-content" v-if="food.rating">
            <li v-for="comment in food.rating.comment_list" class="comment-item">
             <div class="comment-header">
              <img :src="comment.user_icon" v-if="comment.user_icon">
              <img src="./anonymity.png" v-if="!comment.user_icon">
             </div>
             <div class="comment-main">
              <div class="user">{{comment.user_name}}</div>
              <div class="time">{{comment.comment_time}}</div>
              <div class="content">{{comment.comment_content}}</div>
             </div>
            </li>
           </ul>
        </div>
      </div>
    </div>
  </transition>
</templete>

导入,注册组件

<script>
  // 导入BScroll
  import BScroll from "better-scroll";
  // 导入Cartcontrol
  import Cartcontrol from "components/Cartcontrol/Cartcontrol";
  // 导入Vue
  import Vue from "vue";
  
  export default {
   data() {
    return {
     showFlag: false
    };
   },
    //接收来自Goods父组件中选中的food;
   props: {
    food: {
     type: Object
    }
   },
   methods: {
    //这里是上篇我们实现商品详情页的方法
   },
   components: {
    Cartcontrol,
    BScroll
   }
};
</script>

到这里我们就完成了商品详情页面的评论列表,下篇我们来实现商品评价栏目。

总结

以上所述是小编给大家介绍的Vue实现商品详情页的评价列表功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)
May 11 Javascript
chrome下jq width()方法取值为0的解决方法
May 26 Javascript
jquery+css3打造一款ajax分页插件(自写)
Jun 18 Javascript
jquery左右全屏大尺寸多图滑动效果代码分享
Aug 28 Javascript
最简单的tab切换实例代码
May 13 Javascript
用js动态添加html元素,以及属性的简单实例
Jul 19 Javascript
jQuery实现打开页面渐现效果示例
Jul 27 Javascript
基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)
Aug 10 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
Aug 11 Javascript
JS实现带导航城市列表以及输入搜索功能
Jan 04 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
Jun 24 Javascript
JavaScript实现串行请求的示例代码
Sep 14 Javascript
Layui 数据表格批量删除和多条件搜索的实例
Sep 04 #Javascript
解决layui表格的表头不滚动的问题
Sep 04 #Javascript
解决layui数据表格table的横向滚动条显示问题
Sep 04 #Javascript
微信小程序tab切换可滑动切换导航栏跟随滚动实现代码
Sep 04 #Javascript
微信小程序JS加载esmap地图的实例详解
Sep 04 #Javascript
深入浅出vue图片路径的实现
Sep 04 #Javascript
webpack 如何解析代码模块路径的实现
Sep 04 #Javascript
You might like
人大复印资料处理程序_查询篇
2006/10/09 PHP
关于UEditor编辑器远程图片上传失败的解决办法
2012/08/31 PHP
php把文件设置为插件的技巧方法
2020/02/03 PHP
javascript CSS画图之基础篇
2009/07/29 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
浏览器页面区域大小的js获取方法
2013/09/21 Javascript
window.location不跳转的问题解决方法
2014/04/17 Javascript
什么是Node.js?Node.js详细介绍
2014/06/01 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
javaScript基础语法介绍
2015/02/28 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
全面解析node 表单的图片上传
2016/11/21 Javascript
Vue 2.X的状态管理vuex记录详解
2017/03/23 Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
2017/08/04 Javascript
基于input动态模糊查询的实现方法
2017/12/12 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
基于Vue CSR的微前端实现方案实践
2020/05/27 Javascript
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
python正则匹配查询港澳通行证办理进度示例分享
2013/12/27 Python
Python中IPYTHON入门实例
2015/05/11 Python
Python中extend和append的区别讲解
2019/01/24 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
2019/08/05 Python
python opencv调用笔记本摄像头
2019/08/28 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
PyCharm永久激活方式(推荐)
2020/09/22 Python
Python 如何创建一个线程池
2020/07/28 Python
python实现学生信息管理系统源码
2021/02/22 Python
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
给学校建议书范文
2014/05/13 职场文书
暑期培训班招生方案
2014/08/26 职场文书
幼儿园八一建军节活动方案
2014/08/27 职场文书
家庭贫困证明
2015/06/16 职场文书
优质护理服务心得体会
2016/01/22 职场文书
python如何进行基准测试
2021/04/26 Python