小程序
小游戏
企业微信
微信支付
扫描小程序码分享
实现:
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
请问这个问题解决了吗?我也碰到了一样的问题
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
视频能从第一个开始播放吗?
我想你的代码 应该是在请求成功之后拼接有问题。
// 由于项目复杂,我对代码进行了简化贴上来了
// 视频滑动时检测,到倒数第3条时加载新视频
bindchange(e) {
console.log('---------bindchange-------', e.detail.activeId);
if (e.detail.activeId == this.data.lastSedItemId) {
var newPage = this.data.page + 1;
this.setData({
page: newPage
})
this.getNewList(5); // 获取新视频源数据
}
},
getNewList: function (limitNum) {
var that = this;
return new Promise((resolve, reject) => {
app.apiRequest('/ne/neActivityPartake/indexPartake', "GET", {
limit: limitNum ? limitNum : 3,
page: this.data.page,
}).then(res => {
if (res.data.code === 0) {
let rdata = res.data.rows; // 获取的数据
var videoList = this.data.videoList; // 视频源数组
var arrs = [];
rdata.forEach(item => {
var obj = {
id: item.partakeId,
url: item.partakeUrl,
objectFit: 'contain',
};
arrs.push(obj);
videoList = videoList.concat(arrs);
var lastSedId = videoList[videoList.length - 3].id; //记录刷到哪条视频时加载新数据
that.setData({
videoList: videoList, // 最终数组
lastSedItemId: lastSedId,
resolve();
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
请问这个问题解决了吗?我也碰到了一样的问题
1、设置一个辅助的数组,用追加新数据的方式来存放所有的视频列表数据,第一页、第二页、第三页依次追加即可,这样方便将视频源的视频列表的activeID设置为视频列表的索引index
2、第一页数据直接赋值给videoList,加载第二页数据后,只将第二页的新数据赋值给videoList,而不是将第二页数据先追加到第一页数据后,再将这两页的数据一起赋值给videoList,这样video-swiper就可以按顺序一直播放最新的视频了
3、缺点:只要下滑一直有视频,那么视频源的第一个视频会一直播放不到
视频能从第一个开始播放吗?
我想你的代码 应该是在请求成功之后拼接有问题。
// 由于项目复杂,我对代码进行了简化贴上来了
// 视频滑动时检测,到倒数第3条时加载新视频
bindchange(e) {
console.log('---------bindchange-------', e.detail.activeId);
if (e.detail.activeId == this.data.lastSedItemId) {
var newPage = this.data.page + 1;
this.setData({
page: newPage
})
this.getNewList(5); // 获取新视频源数据
}
},
getNewList: function (limitNum) {
var that = this;
return new Promise((resolve, reject) => {
app.apiRequest('/ne/neActivityPartake/indexPartake', "GET", {
limit: limitNum ? limitNum : 3,
page: this.data.page,
}).then(res => {
if (res.data.code === 0) {
let rdata = res.data.rows; // 获取的数据
var videoList = this.data.videoList; // 视频源数组
var arrs = [];
rdata.forEach(item => {
var obj = {
id: item.partakeId,
url: item.partakeUrl,
objectFit: 'contain',
};
arrs.push(obj);
})
videoList = videoList.concat(arrs);
var lastSedId = videoList[videoList.length - 3].id; //记录刷到哪条视频时加载新数据
that.setData({
videoList: videoList, // 最终数组
lastSedItemId: lastSedId,
})
resolve();
}
})
})
},
videoList:that.data.page == 1 ?res.data.rows:videoList .concat(rdata )