位置: 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 怎么操作)

  • 茄子快传怎么传通讯录(茄子快传怎么传文件)

    茄子快传怎么传通讯录(茄子快传怎么传文件)

  • qq能通过通讯录发信息吗(qq通过通讯录添加好友对方知道吗)

    qq能通过通讯录发信息吗(qq通过通讯录添加好友对方知道吗)

  • 抖音像素怎么设置(抖音视频像素怎么调)

    抖音像素怎么设置(抖音视频像素怎么调)

  • 芒果tv账号是昵称吗(芒果tv帐号)

    芒果tv账号是昵称吗(芒果tv帐号)

  • 微信注销60天内好友是否知道(微信注销60天内好友能否发信息)

    微信注销60天内好友是否知道(微信注销60天内好友能否发信息)

  • 淘宝问大家提问者可以删除吗(淘宝问大家提问了商家怎么不显示)

    淘宝问大家提问者可以删除吗(淘宝问大家提问了商家怎么不显示)

  • bn39电池是什么手机(bn36电池是什么手机)

    bn39电池是什么手机(bn36电池是什么手机)

  • 小米手机浏览器广告怎么关闭(小米手机浏览器下载的视频在哪个文件夹)

    小米手机浏览器广告怎么关闭(小米手机浏览器下载的视频在哪个文件夹)

  • 支付宝扫乘车码没反应(支付宝扫乘车码多久扣钱)

    支付宝扫乘车码没反应(支付宝扫乘车码多久扣钱)

  • 苹果手机视频压缩失败怎么回事(苹果手机视频压缩文件太大了怎么缩小)

    苹果手机视频压缩失败怎么回事(苹果手机视频压缩文件太大了怎么缩小)

  • 京东评价怎么粘贴(京东评价怎么粘贴图片)

    京东评价怎么粘贴(京东评价怎么粘贴图片)

  • win7如何彻底清理c盘(win7如何彻底清理c盘垃圾)

    win7如何彻底清理c盘(win7如何彻底清理c盘垃圾)

  • Reno Ace怎么更改系统时间(oppo reno ace怎么恢复出厂设置)

    Reno Ace怎么更改系统时间(oppo reno ace怎么恢复出厂设置)

  • 苹果xs参数配置详情(苹果xs参数配置尺寸)

    苹果xs参数配置详情(苹果xs参数配置尺寸)

  • 任务栏如何恢复出厂设置(任务栏怎么找回)

    任务栏如何恢复出厂设置(任务栏怎么找回)

  • 闲鱼退款申请自动关闭后多久自动确认(闲鱼退款申请自动关闭)

    闲鱼退款申请自动关闭后多久自动确认(闲鱼退款申请自动关闭)

  • 京东闪退是什么意思(京东出现闪退是怎么回事?)

    京东闪退是什么意思(京东出现闪退是怎么回事?)

  • 手机可以装监控吗(手机可以装监控软件吗)

    手机可以装监控吗(手机可以装监控软件吗)

  • 苹果8p指纹坏了能修吗(苹果8p指纹坏了怎么解锁)

    苹果8p指纹坏了能修吗(苹果8p指纹坏了怎么解锁)

  • 微博怎么调夜间模式(微博怎么设置夜间模式2020)

    微博怎么调夜间模式(微博怎么设置夜间模式2020)

  • qq群审核是什么意思(QQ群审核是什么意思)

    qq群审核是什么意思(QQ群审核是什么意思)

  • 微信拉黑别人为什么可以收到信息(微信拉黑别人为什么还能看到头像)

    微信拉黑别人为什么可以收到信息(微信拉黑别人为什么还能看到头像)

  • 荣耀v20怎么激活(荣耀v20怎么激活使用)

    荣耀v20怎么激活(荣耀v20怎么激活使用)

  • 小米9屏幕黑斑(小米9屏幕黑斑闪烁)

    小米9屏幕黑斑(小米9屏幕黑斑闪烁)

  • 小米8屏幕漏紫色(小米8屏幕摔紫了)

    小米8屏幕漏紫色(小米8屏幕摔紫了)

  • 隐藏资源管理器窗口左侧的“OneDrive”图标(隐藏资源管理器里的cd驱动器)

    隐藏资源管理器窗口左侧的“OneDrive”图标(隐藏资源管理器里的cd驱动器)

  • 图文详解linux环境下jdk1.8安装过程(linux环境什么意思)

    图文详解linux环境下jdk1.8安装过程(linux环境什么意思)

  • 小规模公司减免的增值税怎么算
  • 转让无形资产可以免税吗
  • 劳务税是什么 和个税的区别
  • 税控系统的清单
  • 金税盘减免账务处理
  • 建筑劳务属于什么税收分类
  • 二季度资产总额怎么计算
  • 不动产抵扣进项税
  • 质检实验室布局
  • 租金收入摊销
  • 费用暂估入账
  • 装饰设计费计入什么科目
  • 海关增值税进项转出
  • 水产养殖公司的经营范围_问答
  • 私营独资企业是公司还是非公司
  • 进项虚假怎么处理
  • 土地的契税和印花税记入什么科目
  • 服务不动产和无形资产扣除项目有哪些
  • 销售方开具的红字信息表
  • 被强制升为一般纳税人的条件
  • 销售单怎么设置打几行
  • 社保缴费申报表文件
  • 1697510768
  • 实收资本的期初余额在借方还是贷方
  • windows10 20h2 2004
  • 计提工资和发放工资区别
  • 期末留抵税额退税是什么意思
  • 建筑公司小规模纳税人怎么做账报税
  • 会计监督的基本规定有哪些
  • 调整会计分录是什么
  • 公司总经理报销找谁签字
  • rk3328 sdk
  • php官方微信接口有哪些
  • vue3.0用法
  • 在vue中如果computed属性是一个异步操作怎么办?
  • 理财收益如何计税
  • 会计账目和账户的区别
  • vue-cli-service权限不够
  • 雪花算法时钟回拨
  • mkdir命令怎么用
  • php function函数的用法
  • php红包源码
  • mongodb基础知识
  • 投资收益的主要形式有
  • 其它应付款的审计内容
  • 政府补助怎么判断总额法还是净额法
  • 所得税营业成本包括管理费用吗
  • 实际成本法如何核算
  • 劳动合同没有齐缝章
  • 外经证适用范围
  • 递延收益金额怎么算
  • 员工加班打车费报销
  • 运输公司赔偿账务处理
  • 公司投资者如何避免风险
  • 资本金利润率正常范围
  • 总公司和分公司如何分离
  • 兼职人员属于雇佣人吗
  • 物业公司开专票税率是多少
  • 怎样编制银行存款凭证
  • Mysql执行sql文件
  • Win7/Win8.1/Win10的UAC对话框“是”点不了的原因及解决方法
  • macpr预设
  • 在linux操作系统中,/etc/rc.d/init.d
  • 优盘和硬盘
  • 红帽linux6.0安装教程
  • win7 64位打开软件时显示丢失wpcap.dll的三种解决办法
  • win10qq经常卡
  • bootstrap下拉框设置默认值
  • Python scikit-learn 做线性回归的示例代码
  • android基础教程
  • unity网络模块
  • js函数的使用规则
  • JavaScript中的数据类型
  • java arraysort
  • unity的gui
  • Android GridView属性集合
  • 宁波国税局领导名单
  • 发票上的税额由谁填写
  • 历年房产税
  • 威海行风热线实时收听
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设