渲染层错误 Expect END descriptor with depth
发布于 6 年前 作者 gxue 15045 次浏览 来自 问答

页面加载完成后,控制台出现报错“渲染层错误”,截图如下:

控制台报错日志:

Error: Expect END descriptor with depth 0 but get another

    at i.value (:39360/__pageframe__/__dev__/WAWebview.js:1)

    at Function.G [as _startCb] (:39360/__pageframe__/__dev__/WAWebview.js:1)

    at n (:39360/__pageframe__/__dev__/WAWebview.js:1)

    at h (:39360/__pageframe__/__dev__/WAWebview.js:1)

    at :39360/__pageframe__/__dev__/WAWebview.js:1

    at t.(:39360/appservice/anonymous function) (http://127.0.0.1:39360/__pageframe__/__dev__/WAWebview.js:1:94975))

    at :39360/__pageframe__/pageframe.html:1

    at :39360/__pageframe__/pageframe.html:1

    at :39360/__pageframe__/pageframe.html:1

    at Array.forEach (<anonymous>)

今天抽时间查了下原因,主要发现了2个原因造成了这个错误:

1、.js中有个变量赋值没有做处理,把undefined赋值给了一个数组变量,假如这个数组变量名为arr,
然后又在.wxml页面中用了这个数组arr。
然后页面加载完成后控制台出现了这个“渲染层错误”。
处理变量赋值后,就 不报这个错了。

2、子组件中的一个if使用造成了,这个渲染层错误,
后面把这个if改成了通过style样式来控制。就不报这个错了。
截图对比一下:
控制台报“渲染层错误”代码:

改后不报错代码:


提出疑惑:为什么大部分地方使用if并没有报错,只是偶尔有个地方使用了if才在控制台报这个错?

这是什么原理呢?不清楚,求高手解答!

2 回复

我这边也是这种问题 报错的是一个列表页面 本地跟手机上很难复现 大部分的报错是在Android上 试了之前查的好多种方法 但都不行 在这里请教下这种问题会在什么情况下报错 感谢

回到顶部