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

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

分类: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;
//用当前页面最上层的地址是否与当前页一致来区分

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