在写程序过程中,需要使用到 globalData里的内容,而这个全局变量,在uni-app上需要通过: var app=getApp(); app.globalData.xxx=xxx来使用。 我觉得每次都要获取app对象,嫌麻烦,就在data数据段里定义一个app字段, 之后就通过 this.app.globalData来使用,问题就出现在这。我用hbuilderX运行到微信小程序开发工具和工具上的真机预览,都没问题,唯独发布后,就报错,相关组件功能失效。报错内容如下: --> starting at object with constructor 'vr' --- property '_renderProxy' closes the circle> TypeError: Converting circular structure to JSON --> starting at object with constructor 'vr' --- property '_renderProxy' closes the circle at JSON.stringify () at Ur (https://usr/app-service.js:4343:41681) at a.zr [as __patch__] (https://usr/app-service.js:4343:41837) at Tn.e._update (https://usr/app-service.js:4343:27516) at a.r (https://usr/app-service.js:4343:42554) at $n.get (https://usr/app-service.js:4343:30958) at $n.run (https://usr/app-service.js:4343:31691) at Wn (https://usr/app-service.js:4343:29898) at Array. (https://usr/app-service.js:4343:13000) at rt (https://usr/app-service.js:4343:12408) 看意思知道是循环引用,后来经过反复发布体验版,才知道是问题在这个getApp()的变量不能定义到data数据段里里。 想一想,getApp()获取的是整个app的对象了,每个页面的变量或许都有。那么我在某个页面定义个app,app本来就包含得有这个页面得变量,就形成了循环引用了。 所以以后得注意,这种循环引用,看有没有一些全局字段,相互引用了得。遇到相似问题,也多一种思路。
标签:service,微信,app,js,usr,https,uni,4343 From: https://www.cnblogs.com/HelloQLQ/p/17586095.html