我上网搜索了一下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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐