小程序報錯 「渲染層錯誤」 Expect END descriptor with depth 0 but get another

 項目中有幾個頁面在控制檯出現這個「渲染層錯誤」,雖然不影響業務操做,怕存在潛在風險,今天抽時間找了下緣由,解決這個問題。html

控制檯報錯日誌以下:小程序

(中國標準時間) 渲染層錯誤數組

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>)app

截圖:測試

 

主要找到了2個緣由,記錄分享一下:spa

一、在js中操做中,把undefined賦值給了一個數組變量,假設變量名爲arr;日誌

      在.wxml頁面中使用了變量arr.  code

     這個緣由致使了報「渲染層錯誤」。處理了arr變量後,這個錯誤也就沒有了xml

 

二、子組件的.wxml頁面中使用了if形成了這個報錯,後面把if判斷改爲style來控制隱藏顯示,htm

     而後也消除了這個「渲染層錯誤」。

   未改前代碼截圖:

改後代碼截圖:

奇怪的是其餘地方使用if並無報這個錯,原理還不清楚!

 

 

================== 小程序其餘問題記錄 ================

一、時間字符串格式yyyy-MM-dd 轉成時間在iOS設備上不被識別,須要把yyyy-MM-dd格式轉成其餘yyyy/MM/dd格式類型,而後才能將時間字符串轉成時間。

測試列子(iOS手機):

var str1 = "2018-08-18 08:18", str2 = str1.replace(/-/g, '/');
console.log("str1: ", str1, ", str2: ", str2);

var date1 = new Date(str1), date2 = new Date(str2);
console.log("date1: ", date1);
console.log("date2: ", date2);

相關文章
相關標籤/搜索