收藏
回答

升级到v1.02.191152版本后global.Page内的方法运行时不能被调用?

升级到v1.02.191152版本后,代码原有一段使用global.Page({ ... }) 的逻辑,在实际编译后该page内定义的方法不能够被调用。



11-26 08:57 追加问题自己排查结果:

    也有可能是bindinput没有被触发,但为什么bindinput没有被触发呢?

最后一次编辑于  11-26
回答关注问题邀请回答
收藏

1 个回答

  • kari
    kari
    11-26

    问题解决了。确实是bindinput没有被调用到,后来在论坛里找到情况相同的问答:

    https://developers.weixin.qq.com/community/develop/doc/000c04faacc1b8c321899f57a56400

    从昨晚到今天搞了将近三个小时。总结一下经验教训:

    昨晚前端同学告诉我他的开发工具页面与js的数据没法同步,我试了下我的本地是可以的。但前端同学那边死活用不了。为了重新问题,我按照他的版本重新安装了最新版,并且把编译后的小程序完全删除掉由开发框架重新生成(其实无用)。终于重现了他的问题! 虽然问题重现了,但是怎么解决呢?对于一个pm来说让我解决前端问题确实有点困难,但只能死马当活马医了。于是开始review代码(review代码是解决任何bug的利器,没有之一!)。最后终于发现 handleProxy没有被调用,由此引出该问题的图片。但是为何没有被调用呢? 一开始怀疑是 global.Page()没有被渲染,这个问题显然已经超出了一个外行通过review代码可以解决的范畴,所以抛了出来。然而一个偶然的机会让我发现该方法是可以被调用的,比如在bindblur事件绑定时可以被调用;同理,使用bindinput绑定一个新建的方法该方法不能被调用。因此断定一定是bindinput没有生效。排查到这一步由超出了我的能力范围了,如果bindinput不生效那遇到这个问题的一定只是我自己,抱着这个思路就搜索了下。果然第一条记录就解决了我的问题(如上连接)。至此问题得以解决!感谢分享出问题解决方案的同学!

    11-26
    赞同
    回复 1
    • kari
      kari
      11-26
      其实前端同学理应比我更先发现和解决问题,但是对于解决问题而言,最重要的可能不光是专业,还有方法和耐心。
      11-26
      回复
问题标签