微信小程序开发基础2
数据处理
小程序开发
浏览:1019 次

开发过程中的发现
Wx:对于变量对象,Wx:for index是对象的键,Wx:for item是对象的值
wx。getBackgroundAudioManager()获得的值可能随时更改。输出两次时,以下代码可能返回不同的值
const backgroundAudioManager=wx.getBackgroundAudioManager();
console.log(backgroundAudioManager.src);
...
console.log(backgroundAudioManager.src);
WXML中的参数名为data-live-id,js中调用的事件处理程序使用参数e.target。数据集LiveId获取;它通过参数e.target命名为data liveId。数据集Liveid采集
滚动视图设置有时无效。目前,已知滚动到视图值已在之前设置,但页面呈现为初始空列表,因为数据处理尚未完成。此时,它无法滚动到指定位置
如果要在单击页面返回按钮时指定返回级别的数量,可以在onUnload()生命周期方法中调用getCurrentPages(),以获取整个路由堆栈中的所有信息,从而确定要返回navigateBack({delta:1});的页面wx的级别但可能会有一种效果,中间页面在显示后会消失
图片名称不应使用汉字。真机上可能找不到资源(华为荣耀8)
如果图片的高度未知,则可以压缩图片,然后正常显示。您可以设置图片的高度:auto;或者添加图像组件的bindload回调,以控制加载后图像的显示
如果需要从后端返回富文本内容,因为web视图有一些限制,可以使用长图的形式来降低开发成本
OnUnload是页面元素卸载后的回调。目前,小程序在卸载页面元素之前不提供回调。如果在onUnload中执行获取页面元素的操作,可能会报告错误
根据官方文件,wx:if具有较高的切换消耗,而hidden具有较高的初始渲染消耗。如果需要频繁切换,最好使用隐藏。如果条件在运行时不太可能改变,wx:If更好
100vh指的是移除顶部标题和底部TabBar(如果有)后的高度,wx理论上,getSystemInfo()返回移除顶部标题或底部TabBar(如果有的话)后的身高,但存在自适应问题。当在android机器上的不同页面上调用时,可能会返回不同的值
参考组件
声明循环方法
//初始化并显示第1页
app===启动
app===显示
第1页===加载
第1页===显示
第1页===就绪
//跳转到第2页
第1页===打开隐藏
第2页===加载
第2页===显示
第2页===就绪
//从第2页返回第1页
第2页===卸载
第1页===显示
//剪切背景

第1页===打开隐藏
应用===打开隐藏
自定义组件
自定义组件时需要注意的是组件调用调用它的页面方法的方式,以及自定义子组件的传入方式。
页面代码
page.json页面
{
“使用组件”:{
“语音”:“/组件/语音/语音”,
}
}
页面.js
第页({
...
handleVoiceSeek(e){
//e.detail中的参数是Component传入的参数。您也可以使用e.target。数据集Src获取调用组件时传入的数据Src参数
this.backgroundAudioManager.seek(e.detail.value);
},
});
页面.wxml
<视图>
<语音
data src=“{{particle.audio.uri}}”
bind:_handleVoiceSeek=“handleVoceSeek”
src=“{{particle.audio.uri}}”
playing=“{{true}}”
currentTime=“{{particle.audio.currentTime}}”
duration=“{{particle.audio.dduration}}”
formatedCurrentTime=“{{particle.audio.formatedCurrentTime}}”
formatedEndedTime=“{{particle.audio.formatedEndedTime}}”
>
语音>

部件代码
组件.json
{
“组件”:真
}
组件.ts
组件({
选项:{
MultipleSlots:true,//在定义组件时启用选项中的多插槽支持
},
方法:{
_handleSeek(e){
//这里的参数e由滑块传入,它触发调用的绑定_handleVoiceSeek对应的js中定义的方法和参数传入,即handleVoice Seek方法被调用
这triggerEvent('_handleVoiceSeek',{value:e.detail.value});
},
},
属性:{
源代码:{
类型:字符串,
},
正在播放:{
类型:布尔型,
},
当前时间:{
类型:数字,
},
持续时间:{
类型:数字,
},
格式化当前时间:{
类型:字符串,
},

格式化结束时间:{
类型:Str