掘金日新计划&小程序知识合集二

124 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第2天

一、globalData的使用

作用:

app.js中的globalData存储的是全局数据,能在各个页面之间共同使用某些信息,可以对共享数据进行修改设置,以便其他页面根据数据变化进行相应调整。

使用方法:

  • app.js中读取globalData,使用this即可。
  • 其他js页面使用,开头需要声明 var app = getApp()

数据获取: app.globalData.name;

数据修改: getApp().globalData.name=“张三”,此时改的是全局变量的值,对本页面不起作用。要修改本页面的值,直接setData进行修改。

在小程序的所有页面中都可以随时调用和写入存放在GlobalData的数据。 无论是调用还是写入,第一步都是要让页面与App.js产生关联。所以在页面的对应的JS中,第一句话就要写上:var app = getApp();

GlobalData可以随时在页面中读取和存储数据,比Storage方便很多。

App({
  globalData: { msg: 'hello' }
})
const app = getApp()
Page({
    data: {
        msg: app.globalData.msg
    },
    updateMsg() {
        app.globalData.msg = '456'
        this.setData({msg: app.globalData.msg})
    }
})

二、 audio音频播放

音频文件的加入,是丰富小程序功能的常见手段。向微信小程序中插入音频文件,可以通过 <audio> 音频组件,或是 wx.playBackgroundAudio() API,但这两者的使用场合(生命周期)有些不同

<audio> 音频组件的属性列表中, controls 属性尤为重要。 其默认值为 false,表示控制窗口默认情况下不出现。推荐在小程序里,将其值设置为 true,就可以将播放界面显示出来。

对于实现简单音频播放的,只需利用 JS 代码实现数据绑定即可。如果需要进行复杂的音频操作,则需要配合音频控制相关 API。一个小程中若使用多个 <audio>音频组件的话,几个 <audio> 音频组件能同时工作。

<audio> 音频组件的使用并非万能。当微信后台或退出小程序时, <audio> 音频组件播放音频会立即被暂停。 在上述情况中,若希望音频继续播放,就要用到 wx.playVoice()

使用 wx.playBackgroundAudio() 播放的音频,无论是微信放入后台,或是退出小程序,音频依然会正常播放。 但若微信退出,音频的播放也会停止。 如若只需要简单地播放音频文件,单独使用 wx.playBackgroundAudio() 就足够了。

三、相机组件 CAMERA

使用camera组件后,只会触发摄像头,不会使用摄像头的默认样式,进入camera组件后,会全屏显示相机没有拍照按钮以及相机的各种样式。 将需要使用相机组件的wxml组件中输入camera标签

 <camera 
 device - position="back" 
 flash="{{flash}}" 
 bindinitdone="cameraondonwn" 
 style="width:{{width}}px;
  height:{{height}}px; 
  margin-left:0px;
  z-index:1">
  </camera>

此时相机就会铺满全屏,没有拍照按钮。此时的camera层级是最高的,如果添加view标签和image标签是不起作用的。

烟火向星辰,所愿皆成真!