wx.onUserOffTranslation(function listener)

基础库 3.14.2 开始支持,低版本需做兼容处理。

微信小程序插件:不支持

微信 Windows 版:支持

微信 鸿蒙 OS 版:支持

功能描述

监听用户主动取消翻译的事件

参数

function listener

用户主动取消翻译的事件的监听函数

示例代码

const callback = () => console.log('userTriggerTranslation')

wx.onUserOffTranslation(callback)
// 取消监听
wx.offUserOffTranslation(callback)

wx.onUserTriggerTranslation(function listener)

基础库 3.7.9 开始支持,低版本需做兼容处理。

微信小程序插件:不支持

微信 Windows 版:支持

微信 鸿蒙 OS 版:支持

功能描述

监听用户触发微信小程序菜单中翻译功能的事件

参数

function listener

用户触发微信小程序菜单中翻译功能的事件的监听函数

参数

Object res
属性 类型 说明
locale string 翻译到的目标语言
type string 触发来源, button 表示点击了菜单中的翻译按钮, capsule 表示点击了胶囊中的翻译提示

示例代码

const callback = res => console.log('userTriggerTranslation', res)

wx.onUserTriggerTranslation(callback)
// 取消监听
wx.offUserTriggerTranslation(callback)

wx.nextTick(function callback)

基础库 2.2.3 开始支持,低版本需做兼容处理。

微信小程序插件:支持,需要微信小程序基础库版本不低于 2.7.1

微信 Windows 版:支持

微信 Mac 版:支持

微信 鸿蒙 OS 版:支持

功能描述

延迟一部分操作到下一个时间片再执行。(类似于 setTimeout)

参数

function callback

说明

因为自定义组件中的 setData 和 triggerEvent 等接口本身是同步的操作,当这几个接口被连续调用时,都是在一个同步流程中执行完的,因此若逻辑不当可能会导致出错。

一个极端的案例:当父组件的 setData 引发了子组件的 triggerEvent,进而使得父组件又进行了一次 setData,期间有通过 wx:if 语句对子组件进行卸载,就有可能引发奇怪的错误,所以对于不需要在一个同步流程内完成的逻辑,可以使用此接口延迟到下一个时间片再执行。

示例代码

Component({
  doSth() {
    this.setData({ number: 1 }) // 直接在当前同步流程中执行

    wx.nextTick(() => {
      this.setData({ number: 3 }) // 在当前同步流程结束后,下一个时间片执行
    })

    this.setData({ number: 2 }) // 直接在当前同步流程中执行
  }
})

wx.setTopBarText(Object object)

从基础库 1.9.9 开始,本接口停止维护

基础库 1.4.3 开始支持,低版本需做兼容处理。

以 Promise 风格 调用:支持

需要页面权限:当前是插件页面时,宿主微信小程序不能调用该接口,反之亦然

微信小程序插件:不支持

功能描述

动态设置置顶栏文字内容。只有当前微信小程序被置顶时能生效,如果当前微信小程序没有被置顶,也能调用成功,但是不会立即生效,只有在用户将这个微信小程序置顶后才换上设置的文字内容。

参数

Object object

属性 类型 默认值 必填 说明
text string 置顶栏文字
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

wx.setTopBarText({
  text: 'hello, world!'
})

注意

  • 调用成功后,需间隔 5s 才能再次调用此接口,如果在 5s 内再次调用此接口,会回调 fail,errMsg:”setTopBarText: fail invoke too frequently”