class构造函数实现接口数据整合

本文介绍了在项目接口中遇到的数据分布不集中的问题,以及如何通过定义类和构造函数来更有效地组织和提取所需数据。具体做法是在`GoodsInfo`类中存储商品信息,如标题、描述、价格等,并在组件内部通过构造函数将接口返回的`itemInfo`、`columns`和`shopInfo.services`整合到`goodsInfo`对象中,提高了数据管理的清晰性和效率。
摘要由CSDN通过智能技术生成

一般项目接口中很有可能数据分布很不集中,经常出现想要的数据可能在不同对象内。
例如如果要取columns内的数据,以及itemInfo内的部分数据…
在这里插入图片描述
按我之前拿数据方法,这样的话就是定义一个对象存放在data内,然后会把columns和itemInfo全部存放在对象内。
今天学习到将所需的数据存入class内,通过带参数的构造函数来实现。

// 将商品基本信息过滤到类中
export class GoodsInfo {
  constructor(itemInfo, columns, services) {
    this.title = itemInfo.title;
    this.desc = itemInfo.desc;
    this.newPrice = itemInfo.price;
    this.oldPrice = itemInfo.oldPrice;
    this.realPrice = itemInfo.lowNowPrice;
    this.discount = itemInfo.discountDesc;
    this.columns = columns;
    this.services = services;
  }

然后在要用到数据的组件内导入
再使用

data(){
	return {
		// 接收商品基本信息
      goodsInfo: [],
	}
}

  methods: {
    // 请求商品数据
    getDetail(iid) {
      getDetail(iid).then(({ data: { result } }) => {
        console.log(result);
        // 将商品进本信息整合进goodsInfo
        this.goodsInfo = new GoodsInfo(
          result.itemInfo,
          result.columns,
          result.shopInfo.services
        );
      });
    },
  },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值