升级到v1.02.191152版本后global.Page内的方法运行时不能被调用?
发布于 8 年前 作者 pengwei 3118 次浏览 来自 官方Issues

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

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

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

1 回复

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

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

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

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

回到顶部