微信小程序开发基础2

数据处理

小程序开发


浏览:999 次

开发过程中的发现

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}}”

>

这是插入组件插槽的内容</view>

部件代码

组件.json

{

“组件”:真

}

组件.ts

组件({

选项:{

MultipleSlots:true,//在定义组件时启用选项中的多插槽支持

},

方法:{

_handleSeek(e){

//这里的参数e由滑块传入,它触发调用的绑定_handleVoiceSeek对应的js中定义的方法和参数传入,即handleVoice Seek方法被调用

这triggerEvent('_handleVoiceSeek',{value:e.detail.value});

},

},

属性:{

源代码:{

类型:字符串,

},

正在播放:{

类型:布尔型,

},

当前时间:{

类型:数字,

},

持续时间:{

类型:数字,

},

格式化当前时间:{

类型:字符串,

},

格式化结束时间:{

类型:Str