在购物的时候,我们在打开goods页面的时候,每点击其中一种具体的food的时候,都会有一个商品的详情页,该页面就是介绍该商品的一些具体的细节。如下图所示:

图1

当我们点击红色框中的任意一个food的时候,都会有该商品详情页缓慢过渡进来,如下图所示

图2

当我们点击图2中左上角 的向左箭头的时候,图2又隐藏掉,出现图1的界面。

当点击任意一种商品的时候,会出现商品的详情页,这个详情页可以独立成一个food组件,这个food组件的数据是来自goods组件的,所以要将<food>组件添加到goods组件中。

1、food.vue中<template>内容如下,food页面的显示和隐藏有一个动画的过程

<template><transition name="move"><!--每一种商品的详情页--><!--正常情况下这个组件是隐藏的--><div v-show="showFlag" class="food"><div class="foodContent"><div class="imageHeader"><img :src="food.image"><!--返回按钮,hide()将<food>组件隐藏--><div class="back" @click="hide"><span class="icon-arrow_lift"></span></div></div></div></div></transition>
</template>

2、food.vue中<script>中的内容如下

<script>export default {props:{//接收从父组件传递过来的数据foodfood:{type:Object}},data(){return {showFlag:false};},methods:{//将this.showFlag的值设为true//这个方法是给父组件调用的,当点击父组件的任意一个food区间,触发这个函数show(){this.showFlag = true;},//将this.showFlag的值设为falsehide(){this.showFlag = false;}}}
</script>

3、food.vue中的<template>中的<style>内容如下

<style lang="stylus">@import "../../common/stylus/mixin.styl".foodposition:fixedleft:0top:0bottom:48px   /*底部的购物车的高度是48px*/z-index:30width: 100%background:#ffftransform:translate3d(0,0,0)&.move-enter-active,&.move-leave-activetransition:all 0.2s linear&.move-enter,&.move-leave-activetransform :translate3d(100%,0,0).imageHeaderposition:relativewidth: 100%height:0              /*设置图片的宽度=高度*/padding-bottom:100%  /*相对于这个盒子的宽度设置的,其值=width*/imgposition:absolutetop:0left:0width: 100%height:100%.backposition: absolutetop:0left:0.icon-arrow_liftdisplay: blockpadding:10pxfont-size:20pxcolor:#fff
</style>

4、在父组件goods.vue中引进food.vue

5、在goods.vue中的<template>中引用<food>组件,注意在<template>下直系子元素只能有一个,否则会报错

在这里通过绑定属性:food="selectedFood"将选中的food对象传递给子组件food,ref="food",通过this.$refs.food获取到<food>这个DOM元素,然后就可以在父组件里面调用子组件定义的方法了,具体如下:

首先,在goods.vue中的data()定义变量selectedFood,如下图所示:

这个selectedFood存放的是一个对象,表示被选中的food对象,通过点击相应的food,将food保存在selectedFood中,如下图所示:

selectFood(food,$event)在goods.vue中的methods中定义,主要有两个功能:将点击的food保存在selectedFood中;调用子组件<food>中的方法show(),显示商品详情页

        //将点击的相应的food放到数据this.selectedFood中,然后传递给子组件//其次调用子组件<food>在methods中定义的方法show()//这种方式定义的函数是可以被外部调用的selectFood(food,event){//不是自定义事件if(!event._constructed){return;}//将点击的food对象存放到this.selectedFood中this.selectedFood = food;// 在父组件中调用<food>中在methods定义的方法show(),显示商品详情页this.$refs.food.show();}

(十四)商品详情页实现相关推荐

  1. 谷粒商城 高级篇 (十四) ---------- 商品详情

    目录 一.详情数据 二.查询详情 三.sku 组合切换 四.关键 SQL 一.详情数据 封装成 vo 如下: SkuItemVo: @Data public class SkuItemVo {//1. ...

  2. Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十六(商品排序,Thymeleaf快速入门,商品详情页的展示)

    Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)十六(商品详情页的展示) 一.商品排序 1.完善页面信息 这是用来做排序的,默认按照综合排序 ...

  3. 商品详情页动态渲染系统:大型网站的多机房4级缓存架构设计

    124_大型电商网站的商品详情页的深入分析 之前,咱们也是说在讲解这个商品详情页系统的架构 缓存架构,高可用服务 商品详情页系统,我们只是抽取了其中一部分来讲解,而且还做了很大程度的简化 主要是为了用 ...

  4. 商品详细信息的代码html_电商网站的商品详情页系统架构

    小型电商网站的商品详情页系统架构 小型电商网站的页面展示采用页面全量静态化的思想.数据库中存放了所有的商品信息,页面静态化系统,将数据填充进静态模板中,形成静态化页面,推入 Nginx 服务器.用户浏 ...

  5. 亿级商品详情页架构演进技术解密 | 高可用架构系列 二

    转载:http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=210272034&idx=1&sn=3be9d2b53c7fe ...

  6. 亿级商品详情页架构演进技术解密 | 高可用架构系列

    亿级商品详情页架构演进技术解密 | 高可用架构系列 --http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=210272034&i ...

  7. 第七章 Web开发实战2——商品详情页

    本章以京东商品详情页为例,京东商品详情页虽然仅是单个页面,但是其数据聚合源是非常多的,除了一些实时性要求比较高的如价格.库存.服务支持等通过AJAX异步加载加载之外,其他的数据都是在后端做数据聚合然后 ...

  8. 电商APP商品详情页设计套路(分层PSD模板)!透析UI/UE必须懂的营销设计思维!

    电商APP重点在于商品详情页,打造一个优秀的商品详情页,完全能够提高转化率! UI设计.交互体验.文案撰写.产品的商业模式来聊一聊电商app商品详情页是怎么"套路" 设计app商品 ...

  9. 微信小程序微商城(五):动态API实现商品详情页(下)

    IT实战联盟博客:http://blog.100boot.cn 上一篇:微信小程序微商城(四):动态API实现商品详情页(上) 看效果 加入购物车.gif 开发计划 1.加入购物车悬浮框.商品数量.价 ...

  10. 尚硅谷谷粒商城第十二天 商品详情页及异步编排

    1. 商品详情 当用户搜索到商品,肯定会点击查看,就会进入商品详情页,接下来我们完成商品详情页的展示. 商品详情浏览量比较大,并发高,我们会独立开启一个微服务,用来展示商品详情. 1.1. 创建mod ...

最新文章

  1. mSystems:生物地球化学进入病毒时代-采用多样的方法研究病毒和生物地球化学循环...
  2. 你了解 Java 的 jstat 命令吗?
  3. laravel5.6 Session
  4. Bitlocker and BitLocker To Go
  5. TensorFlow文件操作
  6. Docker入门(CentOS7)
  7. 光动能表怎么维护_西铁城手表推荐,西铁城光动能表推荐选购指南
  8. win10解决java多版本java -version问题
  9. 扫掠曲面二条引导线_说说国策下的三四线城市与会展
  10. oracle apex表隐藏,oracle-apex 处理表格形式
  11. mrp手机qq2008下载-MRP格式的手机QQ2008软件介绍及如何正确安装MRPQQ2008挂Q版
  12. 原码一位乘法和补码一位乘法
  13. python数据类型转换、将数值转换为以万为单位的数_如何把Excel表格中金额为元的数转换成以万元为单位...
  14. 猴子摘香蕉问题python_用Basic STRIPS算法求解猴子和香蕉
  15. 抑郁症自测量表测试软件,抑郁自评:医用抑郁自测量表,快来测一测你的抑郁指数是多少...
  16. Android 时间格式化
  17. BF发卡网开源源码+详细教程
  18. c++ stack用法详解
  19. 生命的答案水知道(只有部分图片,要全的图片自己还是的网上下个pdf看吧)
  20. AD域帐号批量查询锁定帐号,批量解锁域帐号

热门文章

  1. Fatal signal 11 (SIGSEGV) at 0x00000014 (code=1), thread 29925 (cloud.diversion)
  2. 阿基米德螺旋线原理及代码
  3. [转]大规模服务设计部署经验谈
  4. 8.15美团笔试和奇葩赛码网的输入坑
  5. 博客中Java开发的软硬件环境
  6. 双重认证怎么开_facebook bm认证很重要
  7. 浅淡静态代码分析工具
  8. JAVA缴税_根据工资和税率计算应缴税(java)
  9. MAC直接的剪切快捷键
  10. 免费的机器人聊天接口