vuejs创建类

创建类 song.js

export default class Song{
    constructor({id,mid,singer,name,album,duration,image,url}){
      this.id = id
      this.mid = mid
      this.singer = singer      
      this.name = name
      this.album = album
      this.duration = duration
      this.image = image
      this.url = url
    }
}

工厂方法: 不直接调用new,直接返回实例的方法,代码的优化

expoort function createSong(musicData){
  return new Song({
      id:musicData.songid,
      mid:musicData.songmid,
      singer:filterSinger(musicData.singer),
      name:musicData.songname,
      album:musicData.albumname,
      duration:musicData.interval,
      img:"https://asd.hellio${musicData.albumid}kj",      
      url:'https://thirdparty.com${musicData.songid}.pm4.musci',
  })
}
function filterSinger(singer){
   let ret = [];
   if(!singer){
       return ''
   }
  singer.forEach((s) => {
      ret.push(s.name)
  })
  return ret.join('/')
}

使用类

import {creatSong} from 'common/js/song'

_nornallizeSongs(list){
  let ret = []
  list.forEach((item)=>{
      //对象结构赋值
      let {musicData} = item
      //转化 musicData --> song
      if(musicData.songid && musicData.albummid){
           ret.push(createSong(musicData))
         }
  })
  return ret;
}
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值