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 相关文章推荐
javascript编程起步(第七课)
Jan 10 Javascript
修改或扩展jQuery原生方法的代码实例
Jan 13 Javascript
JQuery实现超链接鼠标提示效果的方法
Jun 10 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
Sep 24 Javascript
JS中对数组元素进行增删改移的方法总结
Dec 15 Javascript
three.js实现围绕某物体旋转
Jan 25 Javascript
vue router2.0二级路由的简单使用
Jul 05 Javascript
详解微信JS-SDK选择图片遇到的坑
Aug 15 Javascript
webpack 3.X学习之多页面打包的方法
Sep 04 Javascript
js回文数的4种判断方法示例
Jun 04 Javascript
如何解决日期函数new Date()浏览器兼容性问题
Sep 11 Javascript
Vue.js中v-bind指令的用法介绍
Mar 13 Vue.js
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
nginx+php-fpm配置文件的组织结构介绍
2012/11/07 PHP
浅析echo(),print(),print_r(),return之间的区别
2013/11/27 PHP
thinkPHP中配置的读取与C方法详解
2016/12/05 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
js 事件小结 表格区别
2007/08/13 Javascript
Jquery阻止事件冒泡 event.stopPropagation
2011/12/11 Javascript
让人期待的2011年度最佳 jQuery 插件分享
2012/03/16 Javascript
JS实现图片翻书效果示例代码
2013/09/09 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
2015/08/21 Javascript
nodeJs爬虫获取数据简单实现代码
2016/03/29 NodeJs
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
2016/06/07 Javascript
AngularJS基础 ng-mousemove 指令简单示例
2016/08/02 Javascript
Vue.js 父子组件通讯开发实例
2016/09/06 Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
2016/11/29 Javascript
微信小程序 图片宽度自适应的实现
2017/04/06 Javascript
Angular排序实例详解
2017/06/28 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
2017/12/15 Javascript
Angular脚手架开发的实现步骤
2019/04/09 Javascript
JavaScript面向对象中接口实现方法详解
2019/07/24 Javascript
在实例中重学JavaScript事件循环
2020/12/03 Javascript
[05:43]VG.R战队教练Mikasa专访:为目标从未停止战斗
2016/08/02 DOTA
java直接调用python脚本的例子
2014/02/16 Python
让Python代码更快运行的5种方法
2015/06/21 Python
Python 异常处理的实例详解
2017/09/11 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
详解django中Template语言
2020/02/22 Python
怎样声明一个匿名的内部类
2016/06/01 面试题
ktv总经理岗位职责
2014/02/17 职场文书
4S店售后客服自我评价
2014/04/09 职场文书
综合办公室主任岗位职责
2014/04/13 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
企业开业庆典答谢词
2015/01/20 职场文书
日本读研:怎样写好一篇日本研究计划书?
2019/07/15 职场文书
详解Vue中$props、$attrs和$listeners的使用方法
2022/02/18 Vue.js