我上网搜索了一下renderjs主要解决的问题
renderjs 主要服务于APP,因为uni-app为vue+js+html进行编写,整个是h5的技术栈。而app上并没有document等基础对象。那么,涉及到这些的前端类库就无法使用,例如html2、canvas、canvas2、image。而要用这些怎么办,这是用就出现了renderjs这种视图层工具来进行渲染。
运行在视图层的js

renderjs中
使用window对象监听message,当message监听到时调用emitData方法,在emitData方法中this.$ownerInstance.callMethod(‘receiveRenderData’, this.locationInfo)
触发receiveRenderData方法,并且传入this.locationInfo参数
在这里插入图片描述

原生uniapp层,接收renderjs发送过来的数据
在这里插入图片描述
需要注意:
1.在renderjs层不能使用uni或其他框架的API,例如uni.request、uni.getlocation等等方法,需在原生层调用后触发监听将数据传入。

2.在APP端renderjs层的data与原生层的data互不相干

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐