微信小程序 > 微信公开课 > 录音的同时,通过touchmove触发的setData感觉被阻塞了,界面上无效果
微信小程序,微信公开课,录音的同时,通过touchmove触发的setData感觉被阻塞了,界面上无效果

录音的同时,通过touchmove触发的setData感觉被阻塞了,界面上无效果

2019-03-24 23:18:09

微信公开课小程序热议问题「录音的同时,通过touchmove触发的setData感觉被阻塞了,界面上无效果」
摘要:如何解决录音的同时,通过touchmove触发的setData感觉被阻塞了,界面上无效果
展开:机型如iPhone6splus华为的meta8操作系统如iOS9.3没试过是否必现是问题描述具体问题介绍用作尝试,写了一个类似聊天对话的东西按住后可以录音,然后会有倒计时,通过setData设置,touchmove上滑一定距离还会改变class从而变色,然后松开取消录音。开发者工具里面没什么问题。但是真机测试的情况是,录音正常,也能通过上滑取消录音。但是一旦触发touchmove之后,虽然console.log可以看到计时器一直在减,但是setData设置的,界面上不体现效果变色跟数字改变都没用,感觉就像被阻塞了一样,送开的一瞬间该有的setData又触发了。不touchmove的时候,它在正常倒计时,比如计到58,一旦手指move了,哦霍,就不动了,如果console.log打印每一秒,发现还是在打印,但是界面上就卡死了实际状况不好截图,所以做如上描述,刚刚看了今天20161221更新日志,很赞,但是这部分还是是这样的。代码片段截图touch事件我都是绑在最上层的元素,然后与那个读秒的提示框是并列关系,之前是包含关系也还是一样的。下面是部分代码://计时器varcounter={cnt:60,now:60,hander:undefined,begin:function(pageCxt){var_that=this;_that.now=_that.cnt;_that.oneSecond(_that,pageCxt);},end:function(pageCxt){sendVoice.apply(pageCxt);},oneSecond:function(that,pageCxt){console.time(t);if(that.now0){that.hander=setTimeout(function(){console.log()console.timeEnd(t);that.now;that.oneSecond(that,pageCxt);if(that.now60){pageCxt.setData({voiceHintLimit:还可以说+that.now+秒});}else{pageCxt.setData({voiceHintLimit:});}if(that.now==0){that.end(pageCxt);}console.log(that.now);},1000);}else{that.init();}},init:function(){this.now=this.cnt;if(this.hander){clearTimeout(this.hander);}}}//录音的varlastVoiceRecordTmpPath;varwillUploadVoice=false;functionrecordVoice(){var_this=this;willUploadVoice=false;wx.startRecord({success:function(res){console.log(res);varlastVoiceRecordTmpPath=res.tempFilePath;console.log(lastVoiceRecordTmpPath);if(willUploadVoice){voiceupload({path:lastVoiceRecordTmpPath,uid:1234567890,seconds:willUploadVoice.seconds},_this);}},fail:function(res){wx.showToast({title:录音失败});}})this.setData({recordVoiceBtnText:松开结束,showHint:true,willcancel:false});counter.init();counter.begin(this);}//录音的touch事件functiontouchstart(e){console.log(touchstart,arguments);varid=e.target.id;if(id==voicebtn){recordVoice.apply(this);moveUpJudge.init();moveUpJudge.setP(begin,e);}}//下面是mousemove的//moveUpJudge.judge()只是判断一个跟起始点的距离functiontouchmove(e){//console.log(touchmove,arguments);var_that=this;if(moveUpJudge.isBegin()){moveUpJudge.setP(end,e);if(moveUpJudge.judge()){//变色if(willcancel==false){willcancel=true;_that.setData({willcancel:willcancel});}}else{if(willcancel==true){willcancel=false;_that.setData({willcancel:willcancel});}}}}
更多有关录音的同时,通过touchmove触发的setData感觉被阻塞了,界面上无效果的小程序开发问题勤请扫码关注微信公开课小程序参与讨论!
标签:小程序,微信小程序
微信小程序,微信公开课,录音的同时,通过touchmove触发的setData感觉被阻塞了,界面上无效果

「录音的同时,通过touchmove触发的setData感觉被阻塞了,界面上无效果」热议问题订阅

方法1:微信扫描微信公开课小程序码即可订阅热议问题「录音的同时,通过touchmove触发的setData感觉被阻塞了,界面上无效果」

方法2:微信搜索微信公开课小程序名称进入,即可订阅热议问题「录音的同时,通过touchmove触发的setData感觉被阻塞了,界面上无效果」

方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热议问题「录音的同时,通过touchmove触发的setData感觉被阻塞了,界面上无效果」

微信公开课小程序热议问题「录音的同时,通过touchmove触发的setData感觉被阻塞了,界面上无效果」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。

微信公开课热议问题「录音的同时,通过touchmove触发的setData感觉被阻塞了,界面上无效果」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。