Vue实现仿淘宝商品详情属性选择的功能

Vue实现仿淘宝商品详情属性选择的功能

2018年09月07日 17:13:35 yx_cos 阅读数:278

先看下效果图:(同个属性内部单选,属性与属性之间可以多选)

主要实现过程:

所使用到的数据类型是(一个大数组里面嵌套了另一个数组)具体格式如下:

  1. attrAndValuees: [

  2.  

    {

  3.  

    ‘attrId‘: 1,

  4.  

    ‘attrName‘: ‘味道‘,

  5.  

    ‘valuees‘: [

  6.  

    {

  7.  

    ‘attrId‘: 1,

  8.  

    ‘value‘: ‘橘子味‘

  9.  

    },

  10.  

    {

  11.  

    ‘attrId‘: 2,

  12.  

    ‘value‘: ‘草莓味‘

  13.  

    }

  14.  

    ]

  15.  

    },

  16.  

    {

  17.  

    ‘attrId‘: 2,

  18.  

    ‘attrName‘: ‘容量‘,

  19.  

    ‘valuees‘: [

  20.  

    {

  21.  

    ‘attrId‘: 4,

  22.  

    ‘value‘: ‘100ml‘

  23.  

    },

  24.  

    {

  25.  

    ‘attrId‘: 6,

  26.  

    ‘value‘: ‘300ml‘

  27.  

    }

  28.  

    ]

  29.  

    }]

相关的Html 代码:

  1. <div class="sortItem" v-for="(item,index) in attrAndValuees" :key="item.attrId">

  2.  

    <span>{{item.attrName}}:</span>

  3.  

    <ul>

  4.  

    <li v-for="(itemm,ind) in item.valuees" :key="itemm.attrId" :class="{‘cur‘:sel[index] == ind}" @click="select(index,ind)" class="hand" >{{itemm.value}}</li>

  5.  

    </ul>

  6.  

    </div>

实现的原理:新建一个数组,数组的每一项代表一个属性值,由这个数组中的值来改变对应属性的样式

在data里新增一个数组 :

  1. data () {

  2.  

    return {

  3.  

    sel: []

  4.  

    }

在methods中新增一个select方法,在点击属性值的时候调用
  1. select: function (index, ind) {

  2.  

    this.sel[index] = ind;

  3.  

    this.$set(this.sel, index, ind)

  4.  

    // this.sel = this.sel.concat([]);

  5.  

  6.  

    }

就以上几个小步骤就可以实现这个效果了,是不是so easy~

不过这中间需要注意的有几点:

Vue之所以能够监听Model状态的变化,是因为JavaScript语言本身提供了Proxy或者Object.observe()机制来监听对象状态的变化。但是,对于数组元素的赋值,却没有办法直接监听,因此,在这个项目中我们用了set的方法来给数组赋值或者用concat连接一个空数组来对数组进行重新赋值。

若你想了解更多关于数组赋值的知识,可访问官网:https://cn.vuejs.org/v2/guide/list.html

原文地址:https://www.cnblogs.com/xiaocaiyuxiaoniao/p/9789966.html

时间: 2024-12-12 17:57:20

Vue实现仿淘宝商品详情属性选择的功能的相关文章

仿淘宝商品浏览界面, 向上拉查看详情

最新项目中有展示类似淘宝商品详情的功能,主要实现  向上拉查看详情,百度一搜,发现有大神已经实现这个效果了 http://blog.csdn.net/zhongkejingwang/article/details/38656929 写的很棒.用2个ScrollView 实现上拉查看详情的功能 可是发如今用在我的项目有点问题,有些小的需求没有实现,所以就在这位大神的基础上加入了简单的功能 1. 事件回调.   第二页全然显示出来的回调,能够用来载入数据 2. 事件回调.   当用户滑到第一个Scr

ios 类似淘宝商品详情页面的效果

今天试着写ios 类似淘宝商品详情页面的效果 我用到的第三方库EGORefreshTableHeaderView下拉刷新的效果还有就是PWLoadMoreTableFooterView上拉加载更多 主要的思路在于UISCrollView两页,一页展示商品概况,另一页展示商品更多详情 首先,第一页的view包含一个UITableView,这个tableView实现PWLoadMoreTableFooterView中的delegate方法, 实现delegate代理方法的时候使用 - (void)s

iOS开发日记45-类似淘宝商品详情查看翻页效果的实现

今天博主有一个类似淘宝商品详情查看翻页效果的实现的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步. 1.使用第三方框架 我用到的第三方库EGORefreshTableHeaderView下拉刷新的效果还有就是PWLoadMoreTableFooterView上拉加载更多 主要的思路在于UISCrollView两页,一页展示商品概况,另一页展示商品更多详情 首先,第一页的view包含一个UITableView,这个tableView实现PWLoadMoreTableFooterView中

Beatiful Soup获取淘宝商品详情

Beatiful Soup生成商品详情页面的剖析树, 主要函数:findAll(name=None, attrs={}, recursive=True, text=None, limit=None, **kwargs) 利用findAll先获取标签范围的内容,再利用正则表达式进行匹配输出. Beatiful Soup的中文文档: http://www.crummy.com/software/BeautifulSoup/bs3/documentation.zh.html#Searching%20t

Android--仿淘宝商品详情(继续拖动查看详情)及标题栏渐变

绪论 最近一直比较忙,也没抽出时间来写博客,也不得不说是自己犯了懒癌,人要是一懒就什么事都不想做了,如果不能坚持下来的话,那么估计就废了,??.最近自己攒了好多东西,接下来的时间我会慢慢都分享出来的.好了废话不多说了,下面我们开始正题: 今天要分享的是淘宝的详情页,之前在淘宝上买东西的时候看到淘宝的详情页效果比较不错,所以今天就来仿一下它的效果吧,可能没有淘宝的好,希望见谅啊. 效果图 先上效果图: 这是淘宝的: ? 我自己做的: ? 怎么样效果还差不多吧?GIF图效果看的不太清楚,见谅. 下面

Android开发案例 - 淘宝商品详情【转】

http://erehmi.cnblogs.com/ 所有电商APP的商品详情页面几乎都是和淘宝的一模一样(见下图): 采用上下分页的模式 商品基本参数 & 选购参数在上页展示 商品图文详情等其他信息放在下页展示 知识要点 垂直方向的ViewPager, git: castorflex/VerticalViewPager 手势拦截 & 处理 实现思路 上下分页的设计完全可以用垂直分页来实现, 见知识要点[1] 如果使用垂直分页来实现, 那么问题就来了: 上下分页中的内容肯定是支持垂直滚动的

Android开发案例 - 淘宝商品详情

所有电商APP的商品详情页面几乎都是和淘宝的一模一样(见下图): 采用上下分页的模式 商品基本参数 & 选购参数在上页展示 商品图文详情等其他信息放在下页展示 知识要点 垂直方向的ViewPager, git: castorflex/VerticalViewPager 手势拦截 & 处理 实现思路 上下分页的设计完全可以用垂直分页来实现, 见知识要点[1] 如果使用垂直分页来实现, 那么问题就来了: 上下分页中的内容肯定是支持垂直滚动的, 如此就会和ViewPager的手势冲突, 因此,

Android自定义控件实战——仿淘宝商品浏览界面

转载请声明出处http://blog.csdn.net/zhongkejingwang/article/details/38656929 用手机淘宝浏览商品详情时,商品图片是放在后面的,在第一个ScrollView滚动到最底下时会有提示,继续拖动才能浏览图片.仿照这个效果写一个出来并不难,只要定义一个Layout管理两个ScrollView就行了,当第一个ScrollView滑到底部时,再次向上滑动进入第二个ScrollView.效果如下: 需要注意的地方是: 1.如果是手动滑到底部需要再次按下

iOS 仿淘宝加入购物车前选择尺寸,规格弹窗的向内凹陷折叠动画效果和标签流布局

项目中做了一套电商的购物流程,很多都是照着淘宝做的,之前一直疑惑淘宝的弹框 时,底部的控制器向内凹陷是什么鬼,这动画有点理解不了,一直就放着没有做,这周 末突然在github上看到一个老外写的库,真的有点强啊,我这里简单写了个Demo给大家分析下,然后再用这个牛B的库集成下展示最终成果 老规矩,看图说话,一个是自己写的Demo,一个是通过库展示给大家       在介绍库之前先自己写个Demo捋一捋思路 第一个View:根部控制器,我们设置为黑色 第二个View:根部VC上面加载另一个用来做动画