白羽
白羽
  • 发布:2019-09-19 22:33
  • 更新:2023-07-16 12:02
  • 阅读:3245

【分享】监听subNVue的show和hide事件的方法

分类:nvue

使用uniapp做开发,时不时会遇到困难。遇到困难时,可以在Dcloud社区和QQ群提问。但Dcloud官方分配于解答开发者疑问的力量远远不足,大多数提问根本不会得到任何回复。我是个暴脾气,很多时候气得捶足顿胸。但那又怎样呢,不回复就是不回复。

以前,我对这个问题只会抱怨。后来,我想通了:自己对社区并没有太多贡献,凭什么社区无偿为你解答问题?如果每个人都愿意花一点时间,主动在社区发布一些经验分享,或者回复一些他人遇到而自己已有解决方案的问题,那么社区的质量就会提升,下次遇到问题时,在社区搜索答案就更容易命中有效答案了。

所以,从现在开始,以后但凡有些许有价值的经验总结,哪怕价值很小很小,我都会发布到社区。虽然个人的能力非常有限,解决不了很大的问题,只能从小处着手,但兴许对未来的某一个人有用呢?


以下是正文

用subNVue做popup是非常完美的方案。美中不足的是,uniapp的subNVue并未提供show和hide事件,以至用subNVue做的popup,无法进行有效的初始化。

这里提供一个监听subNVue(或popup)的show和hide事件的办法。

具体做法

在subNVue页面的js代码中,在onLoad方法(uni-app编译模式适用。如果是week编译模式,可改为beforeCreate方法)内添加如下js代码:

uni.getCurrentSubNVue().addEventListener("show", function() {  
    console.log("subNVue子窗体已显示!")  
});  
uni.getCurrentSubNVue().addEventListener("hide", function() {  
    console.log("subNVue子窗体已隐藏!")  
});

完美解决!

3 关注 分享
最光阴 lvcc 1***@qq.com

要回复文章请先登录注册

1***@qq.com

1***@qq.com

vue3好像不行啊。。。报 TypeError: getCurrentSubNVue(...).addEventListener is not a function
2023-07-16 12:02
1***@qq.com

1***@qq.com

6666 感谢呀
2023-06-20 15:30
note744917

note744917

万分感谢!!!!!!
2023-04-02 02:35
阿怪1874

阿怪1874

请教一下大佬,如何实现关闭页面 不关闭subNVue 弹窗
2022-09-08 15:39
phoeniix

phoeniix

谢谢分享!
2022-07-02 10:04
newtome1111

newtome1111

666666
2021-08-25 15:43
1***@qq.com

1***@qq.com

maskClick事件为啥监听不了
2021-03-16 01:32
y***@qq.com

y***@qq.com

大佬牛逼
2020-12-10 18:19
a***@gmail.com

a***@gmail.com

怎么移除监听哇
removeEventListener?
removeListener?
都不 好使
2020-09-19 10:44
2***@qq.com

2***@qq.com

楼主隐藏的时候有没有白色背景怎么处理的
2020-08-26 08:45