电商项目——商品服务-API-属性分组——第十一章——上篇

电商项目——初识电商——第一章——上篇
电商项目——分布式基础概念和电商项目微服务架构图,划分图的详解——第二章——上篇
电商项目——电商项目的虚拟机环境搭建_VirtualBox,Vagrant——第三章——上篇
电商项目——Linux虚拟机中安装docker,mysql,redis_VirtualBox——第四章——上篇
电商项目——电商项目的环境搭建_开发工具&环境搭建——第五章——上篇
电商项目——快速开发人人开源搭建后台管理系统&代码生成器逆向工程搭建——第六章——上篇
电商项目——分布式组件(SpringCloud Alibaba,SpringCloud)——第七章——上篇
电商项目——前端基础——第八章——上篇
电商项目——商品服务-API-三级分类——第九章——上篇
电商项目——商品服务-API-品牌管理——第十章——上篇
电商项目——商品服务-API-属性分组——第十一章——上篇
电商项目——商品服务-API-品牌管理——第十二章——上篇
电商项目——商品服务-API-平台属性——第十三章——上篇
电商项目——商品服务-API-新增商品——第十四章——上篇
电商项目——商品服务-API-商品管理——第十五章——上篇
电商项目——商品服务-API-仓库管理——第十六章——上篇

1:SPU&SKU&规格参数&销售属性

接来下我们说下电商系统最基本的两个概念:SPU,SKU

  • SPU:Standard Product Unit《标准化产品单元)
    是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的持性。|
  • SKU: StockKeeping Unit(库存量单位)
    即库存进出计量的基本单元,可以是以件,盒,托盘等为单位。SKU这是对于大型连锁超市DC(配送中心)物流管理的一个必要的方法。现在已经被引申为产品统一编号的简称,每种产品均对应有唯一的SKU号。
  • SPU和SKU区别
    SPU就相当于是类(iphonex,iphonemax)类拥有非常多的特性,我想要真正的买一个商品,我就要选择它的具体版本,包括它库存有多少,售价有多少;SKU就相当于对象
    在这里插入图片描述

iphone发布会一开始就会介绍今天发布了三款iphone,分别介绍它有多少像素,内置芯片,存储容量,大家都很期待它的价格,到了揭晓价格的那一幕,我们就会出现下面一幕,
在这里插入图片描述

不同的颜色可呢配比这不同的内存和存储空间,不同的版本也有不同的售价,不同的版本在不同的供货商里面,库存是不一样的,所以我们真正买到手的是SKU不同的颜色可呢配比这不同的内存和存储空间,不同的版本也有不同的售价,不同的版本在不同的供货商里面,库存是不一样的,所以我们真正买到手的是SKU

  • 基本属性【规格参数】与销售属性

每个分类下的商品共享规格参数,与销售属性。只是有些商品不一定要用这个分类下全部的
属性:

1.属性是以三级分类组织起来的
2.规格参数中有些是可以提供检索的
3.规格参数也是基本属性,他们具有自己的分组
4.属性的分组也是以三级分类组织起来的
5.属性名确定的,但是值是每一个商品不同来决定的

SPU决定规格参数的值,SKU决定销售属性的值
在这里插入图片描述

在这里插入图片描述

2:前端组件抽取&父子组件交互

接下来我们编写平台的属性以及属性的分组维护,如下实现效果

我们可以选中一个三级分类,为这个分类下新增一个属性分组,为每一个分组下可以关了一些规格参数
在这里插入图片描述
第一步:我们先完成人人快速开发平台的菜单搭建
效果图如下
在这里插入图片描述

第二步:前端属性分组界面搭建
在这里插入图片描述
在这里插入图片描述
moudles->common->
category.vue

<template>
  <el-tree
    ref="tree"
    :data="menus"
    :props="defaultProps"
    node-key="catId"
   >
  </el-tree>
</template>

<script>

    export default {
        //import引入的组件需要注入到对象中才能使用",
        components: {},
        data() {
            // 这里存放数据",
            return {
              menus: [],
              defaultProps: {
                children: 'children',
                label: 'name'
              }
            }
        },
        //监听属性 类似于data概念",
        computed: {},
        //监控data中的数据变化",
        watch: {},
        //方法集合",
        methods: {
          // 获取数据列表
          getDataList () {
            this.$http({
              url: this.$http.adornUrl('/product/category/list/tree'),
              method: 'get'

            }).then( ({data}) => {
              console.log("成功获取到菜单数据:",data.data)
              this.menus=data.data;
              // console.log(this.menus)

            })
          }
        },
        created() {
// <!--在组件创建的时候就已经调用了,就相当于请求已经发送出去了,我们上面的方法就会有成功获取到的菜单数据-->
          this.getDataList();
        },
    }
</script>

在attrgroup.vue中完成如下三个步骤

1.import category from "../common/category";
 2.components: {
          category
        },
3.        <el-row :gutter="20">
    <el-col :span="6">
      菜单
      <category></category>
    </el-col>
    <el-col :span="18">
      表格
    </el-col>

  </el-row>

效果演示
在这里插入图片描述
我们在去人人生成器中找到对应attrgroup下的前端生成代码,
在这里插入图片描述
在这里插入图片描述
第三步:我们要完成如下操作
在这里插入图片描述
我们就要用到vue中的父子组件传递数据(我们希望我们的三级分类数据被点击以后,我们(category.vue)可以通知引用它(attrgroup.vue)的人,被点击到哪个数据,那我们要怎么完成呢?
思路:父子组件传递数据
1)子组件给父组件传递数据(category给attrgroup传递数据),使用事件机制
子组件给父组件发送一个事件,携带上数据。
//向父组件发送事件(事件名,要传递的数据(任意多个))
this.$emit(“tree-node-click”,data,node,component)

操作:
category.vue

<!--  node-click	节点被点击时的回调	共三个参数,依次为:传递给 data 属性的数组中该节点所对应的对象、节点对应的 Node、节点组件本身。-->
  <el-tree
    ref="tree"
    :data="menus"
    :props="defaultProps"
    node-key="catId"
    //点击触发这个事件,在通过这个事件的方法把子组件数据传送给父组件(attrgroup)
    @node-click="nodeclick"
   >
  </el-tree>
   methods: {
nodeclick(data,node,component){
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值