位置: IT常识 - 正文

uniapp中的renderjs使用(uniapp中的onload)

编辑:rootadmin
uniapp中的renderjs使用

推荐整理分享uniapp中的renderjs使用(uniapp中的onload),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:uniapp中的swiper包裹video滚动不了,uniapp中的uni-file-picker文件列表关闭,uniapp中的条件渲染和列表渲染的语法是什么,uniapp中的global,uniapp中的fab组件中的trigger,uniapp中的onload,uniapp中的fab组件中的trigger,uniapp中的swiper包裹video滚动不了,内容如对您有帮助,希望把文章链接给更多的朋友!

需求是用openlayers在uniapp框架下做一个移动gis类的软件,选择用renderjs实现地图与dom的交互,一开始也是小白,通过百度资料以及一步步测试后掌握了renderjs的使用,以及地图功能的实现。

                      

一、renderjs的作用是什么?

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

运行在视图层的js

uniapp中的renderjs使用(uniapp中的onload)

大幅降低逻辑层和视图层的通讯损耗,提供高性能视图交互能力(减少通讯损耗提升性能,例如一些手势或canvas动画的场景)

在视图层操作dom,运行for web的js库(可以操作dom,意味着拥有window、document等这些全局变量,在app-vue的service层没有这些)

二、renderjs怎样使用?

1.原生层数据通过监听传入renderjs层(可以通过调用原生层的方法触发)

2.直接调用renderjs层方法传出数据

三、测试代码(借用网上一段代码,写的很全面)

<template> <view> <view :msg="msg" :change:msg="renderScript.receiveMsg" class="renderjs" id="renderjs-view">{{msg}}</view> <button @click="renderScript.emitData">直接调用renderjs中的emitData的方法</button><button @click="changeMsg" class="app-view">改变msg的值,直接调用renderjs中receiveMsg的值</button><button @click="renderScript.renferMsg">通过renderjs改变msg的值,同时调用renderjs中的emitData的方法</button> </view></template><script> export default { data() { return { msg: '我是service层原来的msg', }; }, methods: { // 触发逻辑层出入renderjs数据改变 changeMsg() { this.msg = "msg值改变了"; }, // 接收renderjs发回的数据 receiveRenderData(val) { console.log('renderjs返回的值-->', val); }, //接收renderjs发回的数据,同时触发:change:msg,调用enderjs中的emitData的方法 serviceClick(e){ this.msg=e } } };</script><script module="renderScript" lang="renderjs"> export default { data() { return { name: '我是renderjs数据' } }, methods: { renferMsg(event, ownerInstance) { // 调用 service层的serviceClick方法,传值console.log(event,ownerInstance) ownerInstance.callMethod('serviceClick', { test: '这是点击renderjs的区域,向service层传递变量' }) }, // 接收逻辑层发送的数据 receiveMsg(newValue, oldValue, ownerVm, vm) { console.log('msg变化了newValue', newValue) console.log('msg变化了oldValue', oldValue) console.log('msg变化了ownerVm', ownerVm) console.log('msg变化了vm', vm) }, // 发送数据到逻辑层 emitData(e, ownerVm) { ownerVm.callMethod('receiveRenderData', this.name) } } };</script>

注意:1.在renderjs层不能使用uni或其他框架的API,例如uni.request、uni.getlocation等等方法,需在原生层调用后触发监听将数据传入。

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

3.this.$ownerInstance.callMethod方法必须通过点击事件执行

4.地图方法都要写在renderjs层中,不能使用子组件

本文链接地址:https://www.jiuchutong.com/zhishi/277833.html 转载请保留说明!

上一篇:Win11升级反馈:可使用Win7兼容性模式运行升级助手绕过系统兼容性测试(win10升级win11报错)

下一篇:Mac系统中如何给PDF文件加密(mac 怎么操作)

  • excel表格怎么加密码(excel表格怎么加密)

    excel表格怎么加密码(excel表格怎么加密)

  • 小米civi怎么关闭hd(小米Civi怎么关闭充电声音)

    小米civi怎么关闭hd(小米Civi怎么关闭充电声音)

  • oppofindx2pro是什么处理器呢(oppofindx2pro是什么调光)

    oppofindx2pro是什么处理器呢(oppofindx2pro是什么调光)

  • 微信怎么批量删除聊天记录(微信怎么批量删除朋友圈内容)

    微信怎么批量删除聊天记录(微信怎么批量删除朋友圈内容)

  • 乐划锁屏是干什么的(乐划锁屏干什么用)

    乐划锁屏是干什么的(乐划锁屏干什么用)

  • 华为nova7第一次怎么充电(华为nova7新机第一次怎么充电)

    华为nova7第一次怎么充电(华为nova7新机第一次怎么充电)

  • 苹果11怎么自定义手机铃声(苹果11怎么自定义墙纸)

    苹果11怎么自定义手机铃声(苹果11怎么自定义墙纸)

  • 樱花动漫一直加载不出来怎么办(樱花动漫加载不进去)

    樱花动漫一直加载不出来怎么办(樱花动漫加载不进去)

  • 对称三相电源是指什么(对称三相电源是星形还是三角形)

    对称三相电源是指什么(对称三相电源是星形还是三角形)

  • 苹果手机提示更新需要更新吗(苹果手机提示更改id密码是什么情况)

    苹果手机提示更新需要更新吗(苹果手机提示更改id密码是什么情况)

  • 电子发票默认导出路径(电子发票手动导出默认路径是哪)

    电子发票默认导出路径(电子发票手动导出默认路径是哪)

  • iphone6的小点怎么设置(湖南邵阳摩托车可以上牌吗)

    iphone6的小点怎么设置(湖南邵阳摩托车可以上牌吗)

  • 小米6适合升级miui11吗(小米6可以升级miui13)

    小米6适合升级miui11吗(小米6可以升级miui13)

  • 华为p30pro几个扬声器(华为p30pro用的是什么扬声器)

    华为p30pro几个扬声器(华为p30pro用的是什么扬声器)

  • 努比亚红魔3s有没有指纹识别(努比亚红魔3root)

    努比亚红魔3s有没有指纹识别(努比亚红魔3root)

  • word文档内容不能删除(word文档内容不对齐)

    word文档内容不能删除(word文档内容不对齐)

  • 微信草稿能保存多久(微信草稿箱保存后在哪里找)

    微信草稿能保存多久(微信草稿箱保存后在哪里找)

  • 苹果11promax什么时候上市(苹果11promax什么时候生产的)

    苹果11promax什么时候上市(苹果11promax什么时候生产的)

  • word2003怎么设置纸型(word2003怎么设置横向页面)

    word2003怎么设置纸型(word2003怎么设置横向页面)

  • 苹果xsmax分辨率是2k吗(苹果xsmax分辨率贴吧)

    苹果xsmax分辨率是2k吗(苹果xsmax分辨率贴吧)

  • oppo手机怎么开启行踪功能(oppo手机怎么开通volte功能)

    oppo手机怎么开启行踪功能(oppo手机怎么开通volte功能)

  • 华为nova5返回键(华为nova5返回键在哪)

    华为nova5返回键(华为nova5返回键在哪)

  • 小米9如何无线充电(小米9如何无线投屏)

    小米9如何无线充电(小米9如何无线投屏)

  • 怎么在手机上查银行卡号(怎么在手机上查车辆违章查询)

    怎么在手机上查银行卡号(怎么在手机上查车辆违章查询)

  • 启用新账簿时,应填写
  • 增值税申报错误已经缴税了怎么办
  • 企业所得税汇算清缴退税怎么做账
  • 固定资产清理的账务处理
  • 一般纳税人销售二手车
  • 转租房产税计税依据
  • 公司注销投资款退回给股东,附言写什么
  • 装修保证金怎么记账
  • 商铺售后回租会计处理
  • 可转换公司债券权益成分和负债成分
  • 现代服务业营改增前后税率对比表
  • 固定资产后续支出的确认和处理
  • 总公司给分公司开发票
  • 长期借款工程完工时会计处理怎么做?
  • 父母的股权给子女可以怎样认证
  • 投资收益率如何确定
  • excel单元格内换行macbook
  • 通讯费计入什么部门
  • 小规模纳税人购车好处
  • 业务招待费增值税是进项税吗
  • 产假期间出现事故可以报工伤吗
  • 销售单怎么设置打几行
  • 空调作为固定资产吗
  • 电子产品怎么计税
  • win10禁止使用网络
  • 事业单位付银行贷款利息
  • windows11禁止自动更新
  • mac怎么把文件发给别人
  • win10电源模式最佳性能多耗好多电
  • PHP:xml_get_current_column_number()的用法_XML解析器函数
  • 去年年终奖
  • 公司试乘试驾车卖掉在增值税哪个模块里开具
  • 怎么绕开中介找到房主
  • 支付宝消费支出
  • 年度汇算清缴怎么查询
  • 建筑业2021年享受核定征收吗
  • 增值税普通发票需要交税吗
  • php模板引擎类
  • 投稿p2
  • php array_walk_recursive 使用自定的函数处理数组中的每一个元素
  • phpcms使用教程
  • 公司对公账户没有流水怎么办
  • 一般人财务报表季报还是月报
  • 库存商品用于研发要进项税额转出吗
  • 个税汇算清缴时劳务报酬怎么计税
  • 长期待摊费用的账务处理
  • 软件企业该怎么发展起来
  • 上年结转库存现金会计分录
  • 融资租赁各方
  • sqlserver验证方式
  • 一般纳税人销售旧货可以开专票吗
  • pos机刷卡未成功却扣了钱啥时候就退回来了
  • 备用金支出没有发票怎么办
  • 非盈利组织固定资产金额标准最新规定
  • 长期股权投资中同一控制和非同一控制的区别
  • 销售退回的会计分录全过程
  • 购买原材料还没发票
  • 无形资产摊销的会计科目怎么录
  • 甲方扣水电费施工方是否开票
  • 待抵扣进项税额借贷方向
  • 新成立的公司需要年报吗
  • mysql 5.7.24安装
  • centos bz
  • win7系统IE浏览器打开跳转到360浏览器,怎么阻止
  • win7的运行命令在哪里
  • 在windows操作中
  • centos at命令
  • 怎样开启bios
  • win7总是弹出广告怎么办
  • cocos2dx入门
  • 批处理bat
  • perl使用保留字引用什么模块
  • Building Unity3D Plugins for Android
  • 圣食颐年
  • Node.js中的事件循环是什么
  • bootstrap要学到什么程度
  • python安装包的命令
  • 北京社保外埠城镇职工和外埠农村劳动力啥区别
  • 无经营公司
  • 国税总局北京税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设