2***@qq.com
2***@qq.com
  • 发布:2020-05-29 08:55
  • 更新:2020-07-31 11:12
  • 阅读:2123

蓝牙模块监听事件移除监听

分类:uni-app

onBLECharacteristicValueChange 监听特征值变化这个事件在进入某个页面开始监听,离开当前页面如何移除监听?

2020-05-29 08:55 负责人:无 分享
已邀请:
heesim

heesim - zsp

官方没有对蓝牙监听服务提供关闭的接口,你可以自己在这个监听上封装一层监听。比如

复制代码uni.onBLECharacteristicValueChange (c){  
//将监听到的值转发  
  uni.$emit('value',c)  
}  

//**************别的页面  
uni.$on('value',function{  
  //处理逻辑  
})  

onUnload(){  
 uni.$off('value')  
}
  • 3***@qq.com

    这也是一种思路,我去试试。官方的东西有点不靠谱啊

    2020-06-06 12:24

  • 2***@qq.com (作者)

    好的,谢谢,我去试试这种方式。

    2020-06-11 16:56

  • 2***@qq.com (作者)

    回复 3***@qq.com: 唉,小程序的API已经有移除的方法了,希望uni-app也赶紧更新吧

    2020-06-11 16:57

  • Dmemory

    感谢,解决了我的大问题,哈哈

    2020-07-21 17:50

  • 1***@qq.com

    求教,我有两个界面需要监听蓝牙数据,但现在就是第一个界面处理正常,到第二个界面,它还是在执行第一个界面的方法,我各种地方都执行了uni.$off都不起效,死活只执行第一次$on绑定的方法。。。

    2022-11-09 18:40

Dmemory

Dmemory - 君君

//这段代码放到app.vue的onlanuch 里面
uni.onBLECharacteristicValueChange (c){
//将监听到的值转发
uni.$emit('value',c)
}

//**别的页面 处理
uni.$on('value',function{
//处理逻辑
})

onUnload(){
uni.$off('value')
}

  • 8***@qq.com

    //**别的页面 处理

    uni.$on('value',function(){

    //处理逻辑

    })

    2020-07-31 10:48

8***@qq.com

8***@qq.com

为啥我黏贴到onlanuch里直接报错

8***@qq.com

8***@qq.com

var pages = getCurrentPages();
var page = (pages[pages.length - 1]).route;
//用当前页面最上层的地址是否与当前页一致来区分

该问题目前已经被锁定, 无法添加新回复

  • 标题 / 粗斜体
  • 代码片段
  • 超链接 / 图片 / 视频
  • 列表 / 引用

文章内容较多时,可以用标题分段 :

## 大标题 
### 小标题

斜体 / 粗体 :

**粗体** 
*斜体*
***粗斜体***

代码片段 :

``` javascript
代码片段
```

超链接 :

[链接文字](链接地址) 例: [百度](http://www.baidu.com)

图片 :

![图片说明](图片地址) 例: ![百度logo](http://www.baidu.com/img/bdlogo.gif)

视频 :

!![视频说明](视频地址) 例: !![优酷视频](http://youku.com)

有序列表 :

1. 123
2. 123
3. 123

无序列表 :

- 123
- 123
- 123

引用 : ( 双回车后结束引用 )

> 引用内容
引用内容
引用内容