详细问题描述
听说官方最近要强制升级v3编译器,对已上线稳定运行半年的项目启用v3进行测试,结果每个功能页面都有js报错,特别是地图组件,几乎没法使用。官方的框架问题,本不该开发者来测试找bug,额外增加开发者的时间和精力,开发者更关注的是稳定。希望官方不要轻易强制升级某个模式,毕竟有项目已实实在在上线运行,如只是改个界面标题,也要整个框架升级,实在非常不合理。
地图实现采用了app-vue,非nvue。
以下是其中一个错误项,其它的你们好好排查,真的做到向下兼容。
1、地图组件属性markers 和 polyline,本是两个独立的属性,在自由组件模式下互相不影响,但v3模式下,对markers动态赋值会影响polyline的渲染。
2、移动和放大缩小地图会报错:TypeError: Converting circular structure to JSON at view.umd.min.js:1
3、uni.createMapContext(mapId,this) 和 $getAppMap 在v3模式下是否无法使用?调用会报错:null is not an object (evaluating 'map')
[内容]
重现步骤
[map.vue]
this.polyline = _polyline;
setTimeout(() => {
this.markers = _markers;
}, 1000);
[结果]
运行诸多js错误,且不明原因,不一一列举,在自由组件模式下编译,一切正常。
[编译版本]
2.6.11(v3)
IDE运行环境说明
[HBuilder 或 HBuilderX]
HBuilderX
uni-app
[IDE版本号]
HBuilderX
2.6.11.20200409
App运行环境说明
[Android版本号]
8.1.0
[iOS版本号]
[手机型号]
OPPO PACM00
[模拟器型号]