添加我的频道API参数设置-根据id,name,序号索引操作频道 & splice() 方法-删除从 index 处开始的零个或多个元素
src/views/home/components/channel-edit.vue
中:
- 绑定事件,提供(添加频道)数据。
<van-icon name="plus" @click="addChannel(item)" class="btn"></van-icon>
- 接口需要实现 调用后台接口与本地存储功能
- 后台需要排序 [{id:‘频道ID’,seq,‘排序’}]
- 本地需要 {id:‘频道ID’,name:‘频道名称’}
methods里:
// 添加频道
addChannel ({ id, name }) {
// item 传过来的意义是:本地存储和接口调用 都需要
// 接口调用:[{id:'频道ID',seq:'序号'}]
// 本地存储:{id:'频道ID',name:'频道名称'}
// 将来实现的API 实现两个功能 传参兼容两种方式
// 传入给API的参数,必须包含两种数据。
// 决定数据格式:[{id:'频道ID',seq:'序号/索引',name:'频道名称'},...{id:'频道ID',seq:'序号',name:'频道名称'}]
// 开始组织数据:依赖当前的我的频道
const newChannels = this.channels.map((item, i) => ({
id: item.id,
name: item.name,
seq: i
}))
// 推荐频道是不需要排序的。默认是第一位置。不需要给后台。
//splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
newChannels.splice(0, 1)
// 添加频道进入 新的频道数组
newChannels.push({ id, name, seq: newChannels.length + 1 })
console.log(newChannels)
},
- newChannels 提供给API使用