放在start()中的wx.onMessage在第一次加载时会被调用一次

新手,求大神解答。
就是我在开放数据域中用了wx.onMessage()这个方法,但是并没有在主域中调用wx.getOpenDataContext()…postMessage()这个方法,为什么它会自己执行一次呢?
源码以及微信开发工具中的日志见下图,不够的话请回复我补充,谢谢


  • Creator 版本:v2.0.5

  • 目标平台: 微信开发工具

  • 详细报错信息,包含调用堆栈:

  • 重现方式:

  • 之前哪个版本是正常的 :

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :

  • 出现概率:100%

  • 额外线索:

用了自带的WXSubContextView组件嘛? 那个玩意在组件node激活的时候向子域发送一次信息。

哦哦,知道了,谢谢,那通过data里面有没有数据来判断消息是否有效就可以了吧?

差不多…难不成你子域只要接受命令就执行点什么…你的子域功能这么单一的嘛…

暂时用这么多吧,现阶段就是为了做微信排行榜,大神能说一下,那你们的子域一般都干什么吗?

还有一个问题想问下你,就是我模仿官方给的排行榜的示例,但是scrollView这个组件在微信里面不能滑动是为什么,官方的就可以,我也看了代码,应该没什么问题,不知道是不是工具里面有什么属性没设置,这个我也看了好几遍,没看出来,不知道你遇见这个问题没

可能是
1:微信开发工具的基础库是2.0.6及以下的版本;
2:你的排行榜不够长 content节点长度要大于scrollView节点长度才能滑动。

子域基本就是看排行榜 最多再来个即将超越。

嗯,我明天试试,谢谢了

大神,你说的那两种可能我检查了,不是,这个scrollView的组件我试了,是可以用的,问题应该出在主域,但是我死活找不到,我模仿主域新建了一个项目来测试这个东西(同一个子域项目,一丁点都没改),子域是可以用的,这个组件也正常

…我不觉得主域的模块设置会影响到子域的scrollView能否滑动 但你检查下试试好了 主域是否把scrollView模块勾选取消掉了。

scrollView这个组件我是放在子域里面使用的。。。

你说会不会有什么东西在主域阻挡滑动了,或者说阻挡触摸事件传递??

oh…有可能 你看你渲染子域的节点是不是被什么Button或者on事件盖住了。

大神,检查了,应该没有button之类的。确实找不到。。。。

接手的别人的代码,真难受了。。。

辛苦了…你试下主域项目开个新场景 然后试试能不能滑动 如果能…你还是得重新检查一遍层级节点或代码 你可以把节点隐藏掉后 逐层恢复看哪个地方的问题。

嗯,行,我试试,真的是麻烦你了

可以确定是主域的问题,新的场景也不能滑动

那你还是看下模块设置吧…看看是不是全勾上的 不是就全勾上试试…

都是勾上的