html结构
<div class="header">
<dl v-for="(item,parentIndex) in mediaData" :key="parentIndex">
<dt>{{item.itemname}}:</dt>
<dd>
<a href="javascript:;" @click="addStyle(childIndex,parentIndex)" v-for="(val,childIndex) in item.skus" :key="childIndex" :class="{ 'active':childIndex === mediaData[parentIndex].selected }">{{val.catname}}</a>
</dd>
</dl>
</div>
后端数据格式
{
"code": 200,
"result": [
{
"itemname": "媒体类型",
"skus": [
{
"cat_id": 0,
"catname": "不限"
},
{
"cat_id": "61",
"catname": "新闻资讯"
},
{
"cat_id": "62",
"catname": "财经商业"
},
{
"cat_id": "63",
"catname": "IT-科技"
},
{
"cat_id": "65",
"catname": "女性时尚"
},
{
"cat_id": "71",
"catname": "房产家居"
},
{
"cat_id": "64",
"catname": "母婴亲子"
},
{
"cat_id": "70",
"catname": "汽车媒体"
},
{
"cat_id": "84",
"catname": "娱乐休闲"
},
{
"cat_id": "68",
"catname": "游戏动漫"
},
{
"cat_id": "79",
"catname": "体育频道"
},
{
"cat_id": "82",
"catname": "健康医疗"
},
{
"cat_id": "83",
"catname": "教育培训"
},
{
"cat_id": "73",
"catname": "食品餐饮"
},
{
"cat_id": "69",
"catname": "机械工业能源"
},
{
"cat_id": "72",
"catname": "艺术媒体"
},
{
"cat_id": "74",
"catname": "服装家纺"
},
{
"cat_id": "75",
"catname": "建材媒体"
},
{
"cat_id": "67",
"catname": "酒店旅游"
},
{
"cat_id": "76",
"catname": "珠宝媒体"
},
{
"cat_id": "80",
"catname": "社会公益"
},
{
"cat_id": "81",
"catname": "酒水茶叶"
},
{
"cat_id": "85",
"catname": "生活消费"
},
{
"cat_id": "78",
"catname": "其他"
}
]
},
{
"itemname": "综合门户",
"skus": [
{
"cat_id": 0,
"catname": "不限"
},
{
"cat_id": "30",
"catname": "综合门户"
},
{
"cat_id": "31",
"catname": "中央媒体"
},
{
"cat_id": "32",
"catname": "地方门户"
},
{
"cat_id": "33",
"catname": "垂直媒体"
},
{
"cat_id": "34",
"catname": "报业媒体"
},
{
"cat_id": "35",
"catname": "中小媒体"
},
{
"cat_id": "36",
"catname": "自媒体"
}
]
},
{
"itemname": "地区",
"skus": [
{
"cat_id": 0,
"catname": "不限"
},
{
"cat_id": "2",
"catname": "全国"
},
{
"cat_id": "3",
"catname": "北京"
},
{
"cat_id": "4",
"catname": "上海"
},
{
"cat_id": "5",
"catname": "广东"
},
{
"cat_id": "6",
"catname": "浙江"
},
{
"cat_id": "7",
"catname": "天津"
},
{
"cat_id": "8",
"catname": "重庆"
},
{
"cat_id": "9",
"catname": "湖南"
},
{
"cat_id": "23",
"catname": "湖北"
},
{
"cat_id": "22",
"catname": "福建"
},
{
"cat_id": "21",
"catname": "安徽"
},
{
"cat_id": "10",
"catname": "河北"
},
{
"cat_id": "12",
"catname": "四川"
},
{
"cat_id": "14",
"catname": "江苏"
},
{
"cat_id": "11",
"catname": "河南"
},
{
"cat_id": "16",
"catname": "辽宁"
},
{
"cat_id": "17",
"catname": "吉林"
},
{
"cat_id": "29",
"catname": "山东"
},
{
"cat_id": "24",
"catname": "陕西"
},
{
"cat_id": "18",
"catname": "甘肃"
},
{
"cat_id": "13",
"catname": "山西"
},
{
"cat_id": "19",
"catname": "青海"
},
{
"cat_id": "20",
"catname": "海南"
},
{
"cat_id": "25",
"catname": "广西"
},
{
"cat_id": "26",
"catname": "贵州"
},
{
"cat_id": "15",
"catname": "江西"
},
{
"cat_id": "27",
"catname": "黑龙江"
},
{
"cat_id": "28",
"catname": "云南"
},
{
"cat_id": "31",
"catname": "内蒙古"
},
{
"cat_id": "30",
"catname": "新疆"
},
{
"cat_id": "32",
"catname": "西藏"
},
{
"cat_id": "33",
"catname": "其他地区"
},
{
"cat_id": "34",
"catname": "宁夏"
},
{
"cat_id": "35",
"catname": "台湾"
}
]
},
{
"itemname": "价格区间",
"skus": [
{
"cat_id": "0,100000000",
"catname": "不限"
},
{
"cat_id": "0,40",
"catname": "0~40元"
},
{
"cat_id": "40,70",
"catname": "40~70元"
},
{
"cat_id": "70,120",
"catname": "70~120元"
},
{
"cat_id": "120,100000",
"catname": "120元以上"
}
]
},
{
"itemname": "收录参考",
"skus": [
{
"cat_id": 0,
"catname": "不限"
},
{
"cat_id": "15",
"catname": "网页收录"
},
{
"cat_id": "14",
"catname": "新闻收录"
}
]
},
{
"itemname": "可发媒体",
"skus": [
{
"cat_id": 0,
"catname": "不限"
},
{
"cat_id": "24",
"catname": "出稿快"
},
{
"cat_id": "10",
"catname": "微商"
},
{
"cat_id": "20",
"catname": "股票"
},
{
"cat_id": "22",
"catname": "加盟"
},
{
"cat_id": "15",
"catname": "理财"
},
{
"cat_id": "26",
"catname": "医疗"
},
{
"cat_id": "7",
"catname": "P2P"
},
{
"cat_id": "21",
"catname": "美容护肤"
},
{
"cat_id": "19",
"catname": "可首发"
},
{
"cat_id": "23",
"catname": "可带署名"
},
{
"cat_id": "11",
"catname": "周六可发"
},
{
"cat_id": "25",
"catname": "易上相关"
},
{
"cat_id": "17",
"catname": "根据媒体属性"
}
]
},
{
"itemname": "链接类型",
"skus": [
{
"cat_id": 0,
"catname": "不限"
},
{
"cat_id": "4",
"catname": "微信/二维码"
},
{
"cat_id": "6",
"catname": "可带网址"
},
{
"cat_id": "8",
"catname": "媒体安排"
}
]
}
],
"msg": "数据请求成功"
}
处理方法
addStyle(childIndex, parentIndex) {
this.mediaData[parentIndex].selected = childIndex
}
json格式处理
mediaCategory().then(res => {
let resData = res.result
resData.forEach(item => {
item.selected = 0 //添加默认值0
})
this.mediaData = resData
})