1***@qq.com
1***@qq.com
  • 发布:2019-12-12 16:09
  • 更新:2021-01-23 09:29
  • 阅读:2728

nvue导航栏原生按钮onNavigationBarButtonTap监听不生效。

分类:nvue

最近使用nvue,很顺手,其中不乏各位大神的指点,这里再次致谢。
好,新的问题,各位老哥,有知道的路过的可以指点两句的话感激不尽。
正题,nvue下的原生按钮监听。

  1. nvue下uni-app编译模式,V3引擎(似乎与这个无关),"compilerVersion" : 3,"nvueCompiler" : "uni-app","renderer" : "native"。关于以上,“weex”模式下需要用uni.onNavigationBarButtonTap去监听,“uni-app”模式下使用原有生命周期即可,目前并不生效;另外“renderer”的纯原生渲染在buttons的配置里说明了无效,但是仍然可以显示,我有点遗憾,难道是纯原生不支持吗,显示都显示出来,怎么就不能监听点击事件呢,不太明白原理。
  2. 或许我的项目不太好,新建-官方新闻Demo,pages.json里首页配置按钮,添加监听,结果无效。原生导航栏都无效吗?经测试,searchInput的生命周期都可以正常触发,那就不太明白searchInput有什么特殊,buttons有什么特别?
  3. 除此外,我又发现在buttons的每个按钮下配置"onclick":"javascript:",是个好办法。于是乎。。。安卓(红米note8Pro)与iOS的反应不大一样。首先,iOS端的uni.navigateTo等页面内API正常,console无效,只有console.log(this)的结果为[object CallbackGlobalObject] ;那么安卓端呢?所有plus,uni等API均失效,console有效,但是this指针的指向为[object Global] 。似乎这个this我如果可以改变的话,可以实现我需要的页面跳转的功能。如果这个方法有知道的可以一起研究一下。
  4. 其他乱七八糟的想法,总像是在一块素白的布料上用黑线打补丁,总不是正道,不赘述。

另:HBuilderX 2.4.4-alpha。

我思路难免偏颇,各位有好的想法,实现方式,可以狠狠的打击我,让我体会到你们深深的爱心。多谢各位!

2019-12-12 16:09 负责人:无 分享
已邀请:
DCloud_UNI_GSQ

DCloud_UNI_GSQ

看你的发言,似乎是在群里发表过看法的那位,群里有个人,以为随便一个地方写个方法这样叫生命周期:onNavigationBarButtonTap(callback),不知道你是不是这样的问题。
如果是这样,文档里先搜一下“生命周期“

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

    老哥请认真看问题,其次,我不是您讲的那位,关于页面生命周期,应用生命周期我就知道与onShow(){}同级,至于您的写法onNavigationBarButtonTap(callback),我看一下是否可行,我猜测这样写前边应该加个'uni.'

    2019-12-12 16:27

  • DCloud_UNI_GSQ

    回复 1***@qq.com: 去掉uni.是说的错误用法的栗子,你可以参考一下hello uni-app里应该也有用到。

    2019-12-12 16:32

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

    回复 DCloud_UNI_GSQ: 试过了,报错,没有这个方法。您注意审题,我不是“weex”模式,按文档说法“uni-app”是可以使用原本的页面生命周期onNavigationBarButtonTap监听原生按钮的,但是现在无效。在刚才我试用uni. onNavigationBarButtonTap的时候,官方文档是放在created里的,我分别在created,onReady,onShow里调用,均报错。请问是我的使用时机不对吗

    2019-12-12 16:41

  • DCloud_UNI_GSQ

    回复 1***@qq.com: 参考一下hello uni-app

    2019-12-12 16:47

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

    回复 DCloud_UNI_GSQ: 是的,新建hello uni-app,没问题,可以触发,这我知道。但是当我将manifest中配置为纯nvue后,和我项目是一样的啊,就是不触发按钮啊,关键是原生搜索可以触发。兄弟,对你回答的我有点意见。首先,审题,确实有些啰嗦了,但是单纯为了描述清楚问题。我怀疑是bug,没有提是因为觉得不能太浪费您家精力去测试,现在看来有必要了,很大可能是bug。

    2019-12-12 17:17

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

    回复 DCloud_UNI_GSQ: 而且,您觉得我出现的问题是简单的没有搞清语法周期之类的,我也就不会这么大篇幅去描述这个问题了。

    2019-12-12 17:19

  • 1***@qq.com

    回复 1***@qq.com: 触发不了,vue可以,nvue不行,我也试了半天

    2019-12-16 16:00

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

    回复 1***@qq.com: 有没有什么想法

    2019-12-16 16:47

  • 1***@qq.com

    回复 1***@qq.com: 很无语而已。

    2019-12-16 17:15

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

    回复 1***@qq.com: 总要解决 啊,现在就遇到难点了,跨不过去

    2019-12-16 17:24

  • 1***@qq.com

    回复 1***@qq.com: 是啊,我有个app,现在转nvue重做,希望性能好,结果磕磕盼盼

    2019-12-16 21:19

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

    回复 1***@qq.com: 就是很多东西想起来容易,到做起来发现根本没有vue的东西,就像监听原生按钮,做不到,我准备往按钮上放原生遮罩

    2019-12-17 09:14

  • 7***@qq.com

    "renderer" : "native" onNavigationBarButtonTap如何生效,现在都不行吗 这个怎样解决

    2020-03-09 17:32

龙雨溪

龙雨溪

你是在哪看到的“另外“renderer”的纯原生渲染在buttons的配置里说明了无效”?
是不是官方还未支持此模式下

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

    https://uniapp.dcloud.io/collocation/pages?id=app-titlenview,看一下官方文档的配置说明,buttons项的“版本兼容性”。

    2019-12-16 16:46

  • 龙雨溪

    回复 1***@qq.com: 既然写了,那就应该是还没支持

    2019-12-17 14:49

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

    回复 龙雨溪: 放弃纯原生渲染了,各种难以拉齐的API,最后就放弃先。

    2019-12-17 15:49

1***@qq.com

1***@qq.com

兄弟,你问题解决了吗,我纯原生编译也遇到这个问题了

2***@qq.com

2***@qq.com - 努力搬砖

2021年使用nvue依旧出现这个问题,即使使用nobackpress生效,但是效果特别差,返回过来的页面显示白屏然后数据晃动,最后显示,实在是难以接受这个效果,希望官方能尽快解决

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