收藏
回答

Cannot read property '__wxWebviewId__

API/组件名称 终端类型 微信版本 基础库版本
createSelectorQuery 客户端 6.6.1 1.9.0

HONOR KNT-AL10

Android 6.0

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

appServiceSDKScriptError TypeError: Cannot read property '__wxWebviewId__' of undefined; at wx.createSelectorQuery
    X5JsCore:48:14266 Function.i
    X5JsCore:43:7757 Object.createSelectorQuery
    X5JsCore:3031:842 Function.e
    X5JsCore:42:13773
    X5JsCore:47:7186

疑似发生在内核

function (e, t, n) {
            Object.defineProperty(t, "__esModule", {
                value: !0
            }), t.createSelectorQuery = void 0;
            var r = n(163),
                o = function (e) {
                    return e && e.__esModule ? e : {
                        default: e
                    }
                }(r),
                i = function (e) {
                    var t = null;
                    if (e && e.page) t = e.page.__wxWebviewId__;
                    else {
                        var n = getCurrentPages();
                        t = n[n.length - 1].__wxWebviewId__
                    }
                    return new o.default(t)
                };
            t.createSelectorQuery = i
        }

请问什麽情况下会发生,要如何避免这个错误,谢谢

回答关注问题邀请回答
收藏

7 个回答

  • LastLeaf
    LastLeaf
    2018-01-24

    对的。因为 observer 触发时机可能在 attached 和 ready 之前。

    2018-01-24
    有用
    回复
  • LastLeaf
    LastLeaf
    2018-01-12

    你好,旧的基础库版本中确实有可能发生这样的问题。还有一种可能的情况是,用户退出小程序,而小程序还在后台运行,此时调用会有这样的问题。getCurrentPages() 查下页面栈可以规避这个问题。

    2018-01-12
    有用
    回复
  • 2018-01-24

    自定义组件在properties的observer的方法里

    wx.createSelectorQuery( ).in(this)

    .boundingClientRect(function(res){

        // console.log(res)

    }).exec( )

    必复现


    2018-01-24
    有用 4
    回复 2
    • ~
      ~
      2021-10-23
      你好,我在用这个API的时候触发这个错误了 有什么解决办法没。导致我的异步没有成功 。
      2021-10-23
      回复
    • 思南
      思南
      2022-03-23
      this的问题🌚
      2022-03-23
      回复
  • Kura
    Kura
    01-09

    wx.createSelectorQuery( ).in(this)出问题,应该是this作用域为空

    vue3中使用getCurrentInstance()代替了this

    01-09
    有用
    回复
  • 虎🐯妈
    虎🐯妈
    2021-09-30

    有个异常,但好像也没啥影响

    2021-09-30
    有用
    回复
  • 2018-01-24

    我在observer的方法里判断已ready才查dom,就没有报错了

    2018-01-24
    有用
    回复 1
    • Senorita . Nicky
      Senorita . Nicky
      2021-05-21
      请问下,observer中怎么判断ready呢,res不为null吗
      2021-05-21
      回复
  • 2018-01-12

    发生在开启某个字定义组建后,很小机率会发生

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