renderjs是一个运行在视图层的js。它只支持app-vue和web。
renderjs的主要作用有2个:
1.让APP端引入web端的js库,可以使用web的功能
2.大幅降低逻辑层和视图层的通讯损耗,提供高性能视图交互能力
<template><view><button @click="lzRend.emitData">触发renderjs的事件</button><!-- lzRend为renderjs中的名字 --><view id="lzRend" :info="info" :change:info="lzRend.receiveInfo"></view></view> </template><script>export default {data() {return {// 用于桥接的数据 info: '要传递的数据,数据发生变化则会传递给renderjs中的receiveInfo方法',};},mounted() {setTimeout(() => {this.info = '变化的数据';}, 1000);},methods: {// renderjs发送过来的数据 receiveRenderData(val) {console.log('renderjs返回的值-->', val);},},}; </script> <script module="lzRend" lang="renderjs">export default {data() {return {map: null,linePath: [],}},mounted() {},methods: {// 发送数据到逻辑层 emitData(e, ownerVm) {console.log(e);// 发送数据到逻辑层 ownerVm.callMethod('receiveRenderData', this.linePath)// 或者使用this.$ownerInstance.callMethod('receiveRenderData', {name: name,args: args});},// 逻辑层数据发生变化时触发(接收逻辑层发送的数据) receiveInfo(newValue, oldValue) {console.log(newValue, oldValue);},}} </script><style> </style>