收藏
回答

內核 __dataProxy undefined


目前还不知如何复现,小程序正常使用情况下,有机率发生如下错误:


SDKVersion:   1.9.0

model:  Mi Note 2

system: Android 7.0

version: 6.6.1


Error webviewScriptError
Cannot read property '__dataProxy' of undefined
TypeError: Cannot read property '__dataProxy' of undefined
   at Function.p.getDataProxy (:45:638)
   at Function.O [as _startCb] (:56:5094)
   at l (:55:26803)
   at h (:55:29684)
   at:55:29765
   at Object.x (:40:2124)
   at Object.ret.subscribeHandler (:25:28)
   at:1:67
   unknown:55:26803 l
   unknown:55:29684 h
   global code:55:29765
   unknown:40:2124 Object.x
   unknown:25:28 Object.ret.subscribeHandler
   global code:1:67
   X5JsCore:2728:19412 K
   X5JsCore:2728:17517 e.notify
   X5JsCore:2812:647 Object.t.notify
   X5JsCore:2809:1513
   (native) Array.forEach
   X5JsCore:2809:1484 exports.CompositeBugTracker.o.value
   X5JsCore:2899:2077 e.App.onError
   X5JsCore:2725:957 e.t.(anonymous function)
   X5JsCore:55:1440 e.
   X5JsCore:42:16122 Function.


SDKVersion:   1.9.0

model: iPhone 6s

system: iOS 10.3.2

version: 6.6.1


webviewScriptError getDataProxy@https: undefined is not an object (evaluating 'e.__dataProxy')
   https://servicewechat.com/wxb80108bc52854112/14/page-frame.html:7:4326 getDataProxy
   https://servicewechat.com/wxb80108bc52854112/14/page-frame.html:18:26703
   https://servicewechat.com/wxb80108bc52854112/14/page-frame.html:18:16415 l
   https://servicewechat.com/wxb80108bc52854112/14/page-frame.html:18:19289
   https://servicewechat.com/wxb80108bc52854112/14/page-frame.html:18:19370
   https://servicewechat.com/wxb80108bc52854112/14/page-frame.html:2:2174 x
   https://servicewechat.com/wxb80108bc52854112/14/page-frame.html:1:72 global code


SDKVersion:   1.9.0

model: samsung SM-G9300

system: Android 7.0

version: 6.6.1


webviewScriptError TypeError: Cannot read property '__dataProxy' of undefined
   unknown:45:4523 Function.p.getDataProxy
   unknown:56:27961 Function.O [as _startCb]
   unknown:56:17677 l
   unknown:56:20558 h
   global code:56:20639
   unknown:40:2124 Object.x
   unknown:25:28 Object.ret.subscribeHandler
   global code:1:67


错误疑似发生在内核的 p.getDataProxy 和 e.__dataProxy 等部分

请问要如何避免这个错误,谢谢


最后一次编辑于  2018-01-10
回答关注问题邀请回答
收藏

5 个回答

  • LastLeaf
    LastLeaf
    2018-01-23

    这边查到最可能的原因是:自己写了 this.data.xxx ,但没有在下一个 setData 中指定 xxx 这一项,而 xxx 这一项又恰好影响到了 wx:if 或 wx:for 或 template is 中表达式的值。目前这种情况可能会触发这个问题。

    2018-01-23
    有用
    回复 11
    • 哈哈哈
      哈哈哈
      2019-01-11

      你好,我这边查到是因为自定义了一个pageLevel字段,在赋值时则产生了楼主所说的报错问题,我将pageLevel字段改为_pageLevel之后,则无报错提醒,这个是有什么限制吗?

      2019-01-11
      回复
    • LastLeaf
      LastLeaf
      2019-01-14回复哈哈哈

      原问题是旧版基础库和开发者工具的一个 bug ,新版已经修复。


      你遇到的这个问题有点奇怪而且我自己没能复现。推测是某些条件下基础库的 bug 。可以提供一个代码片段分析一下吗?

      2019-01-14
      回复
    • 哈哈哈
      哈哈哈
      2019-01-14回复LastLeaf

      我这边又报错了,和pageLevel没有关系,单独写了一份代码片段,但是也是无法复现。

      https://developers.weixin.qq.com/s/I8W1epmQ7c5J

      2019-01-14
      回复
    • LastLeaf
      LastLeaf
      2019-01-14回复哈哈哈

      之前 pageLevel 有问题的话,我猜是因为 pageLevel 绑在了 WXML 的某个位置上,改动它可能触发 WXML 处理时的 bug 。往这个方向看看?

      2019-01-14
      回复
    • 哈哈哈
      哈哈哈
      2019-01-14回复LastLeaf

      _pageLevel和代码片段中的写法是一样的,用在了go-home组件上,会报这个错误,用在card-package组件中不会报错、单独写在一个标签上也不会报错,很怪异,写在代码片段中,同样的代码,同样的组件,依然还是无法复现这个问题


      <card-package wx:if="{{_pageLevel == 'first'}}" id="card-package" pageType="shop" />


      <go-home wx:if="{{_pageLevel == 'first'}}" bottom="{{bottom}}" />


      <view wx:if="{{_pageLevel == 'first'}}" class="test">测试</view>



      2019-01-14
      回复
    查看更多(6)
  • LastLeaf
    LastLeaf
    2018-01-10

    感谢反馈,的确是个内核错误。可能需要你的具体代码或小程序才能查到问题。能否提供一下?

    2018-01-10
    有用
    回复
  • 哈哈哈
    哈哈哈
    2019-01-11

    Cannot read property '__dataProxy' of undefined 也遇到了这个问题,偶现BUG,是在跳转二级页面时弹出的报错信息

    2019-01-11
    有用 1
    回复
  • 我想换昵称
    我想换昵称
    2018-04-08

    我这边也出现一样的问题了  不过我没用for循环  也没有出现你说的setData这种情况  不知道是为什么

    2018-04-08
    有用
    回复
  • 2018-01-23

    我这边也偶尔出现  好像是for自定义组件  自定义组件调用setData遇上节点销毁这种情况

    2018-01-23
    有用
    回复
登录 后发表内容