var sceneReadyBehavior = require('../../behavior-scene/scene-ready'); Page({ behaviors:[sceneReadyBehavior], data: { showBackBtn: true, resourceData: { }, onFlags: [ false, false, // gltf false, false, // image false, false, false // video ], gltfList: [], imageList: [], videoList: [], }, onLoad() { // 准备加载数据 }, tapResBtn(event) { const dataSet = event.target.dataset; // console.log(event); const onFlags = this.data.onFlags; const src = dataSet.src; const index = parseInt(dataSet.index); onFlags[index] = !onFlags[index]; switch (dataSet.type) { case 'gltf': let gltfListNew; if (onFlags[index]) { gltfListNew = this.data.gltfList; gltfListNew.push({ id: index, src: src }); } else { let matchIndex = -1; for (let i = 0; i < this.data.gltfList.length; i++) { if (this.data.gltfList[i] && src === this.data.gltfList[i].src) { matchIndex = i; break; } } this.data.gltfList.splice(matchIndex, 1); gltfListNew = this.data.gltfList; } this.setData({ gltfList: gltfListNew, onFlags: onFlags }); break; case 'image': let imageListNew; if (onFlags[index]) { imageListNew = this.data.imageList; imageListNew.push({ id: index, src: src }); } else { let matchIndex = -1; for (let i = 0; i < this.data.imageList.length; i++) { if (this.data.imageList[i] && src === this.data.imageList[i].src) { matchIndex = i; break; } } this.data.imageList.splice(matchIndex, 1); imageListNew = this.data.imageList; } this.setData({ imageList: imageListNew, onFlags: onFlags }); break case 'video': let videoListNew; if (onFlags[index]) { videoListNew = this.data.videoList; videoListNew.push({ id: index, src: src }); } else { let matchIndex = -1; for (let i = 0; i < this.data.videoList.length; i++) { if (this.data.videoList[i] && src === this.data.videoList[i].src) { matchIndex = i; break; } } this.data.videoList.splice(matchIndex, 1); videoListNew = this.data.videoList; } this.setData({ videoList: videoListNew, onFlags: onFlags }); break default: break; } }, handleInfoListener(cur) { const detail = cur.detail; this.setData({ }); } });