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

  • 最好的网络推广方式有哪些?(最好的网络推广机构)

    最好的网络推广方式有哪些?(最好的网络推广机构)

  • 华为mpencil二代笔怎么充电(华为mpencil二代怎么看电量)

    华为mpencil二代笔怎么充电(华为mpencil二代怎么看电量)

  • OPPO手机上方的HD图标怎么关闭(oppo手机上方的各种图标什么意思?)

    OPPO手机上方的HD图标怎么关闭(oppo手机上方的各种图标什么意思?)

  • qq聊天字体的怎么设置(qq聊天字体怎么设置的和系统一样)

    qq聊天字体的怎么设置(qq聊天字体怎么设置的和系统一样)

  • 苹果充电线反过来充不了(苹果充电线反过来充电)

    苹果充电线反过来充不了(苹果充电线反过来充电)

  • 台式机无线网卡连不上(台式机无线网卡怎么安装)

    台式机无线网卡连不上(台式机无线网卡怎么安装)

  • 快手多少粉丝可以开店(快手多少粉丝可以挂小铃铛)

    快手多少粉丝可以开店(快手多少粉丝可以挂小铃铛)

  • 腾讯会议可以后台播放吗(什么是腾讯会议)

    腾讯会议可以后台播放吗(什么是腾讯会议)

  • 参与拼单和发起拼单有什么区别(发起拼单 参与拼单)

    参与拼单和发起拼单有什么区别(发起拼单 参与拼单)

  • 解除关联对方有提示吗(解除关联后对方还能看见聊天记录吗)

    解除关联对方有提示吗(解除关联后对方还能看见聊天记录吗)

  • 手机edge怎么解决(手机edge模式)

    手机edge怎么解决(手机edge模式)

  • 找靓机bs机是什么意思(找靓机bs机能买吗)

    找靓机bs机是什么意思(找靓机bs机能买吗)

  • iphonexs和iphonex的区别主要有哪些(iphonexs和iphonex的配置区别)

    iphonexs和iphonex的区别主要有哪些(iphonexs和iphonex的配置区别)

  • 计算机硬件有哪5部分组成(计算机硬件有哪五部分)

    计算机硬件有哪5部分组成(计算机硬件有哪五部分)

  • 天猫进口超市可以退货吗(天猫进口超市可以开发票吗)

    天猫进口超市可以退货吗(天猫进口超市可以开发票吗)

  • 华为用的什么基带(华为用的什么基带接口)

    华为用的什么基带(华为用的什么基带接口)

  • 微信怎么删除聊天列表(微信怎么删除聊天框)

    微信怎么删除聊天列表(微信怎么删除聊天框)

  • 抖音怎么切换几个画面(抖音怎么切换几个号登录)

    抖音怎么切换几个画面(抖音怎么切换几个号登录)

  • 更改文件后缀算转换格式吗详细介绍(文件改后缀什么意思)

    更改文件后缀算转换格式吗详细介绍(文件改后缀什么意思)

  • echarts地图不同地区设置不同的颜色

    echarts地图不同地区设置不同的颜色

  • 鸟瞰罗卡附近的Grotta della Poesia,意大利莱切 (© Amazing Aerial Agency/Offset by Shutterstock)(罗卡购物村)

    鸟瞰罗卡附近的Grotta della Poesia,意大利莱切 (© Amazing Aerial Agency/Offset by Shutterstock)(罗卡购物村)

  • 【前端灵魂脚本语言JavaScript⑤】——JS中数组的使用(前端 自动化脚本 怎么写)

    【前端灵魂脚本语言JavaScript⑤】——JS中数组的使用(前端 自动化脚本 怎么写)

  • 采购价格含税吗
  • 汽车折旧计提完了处理后怎么做账务处理
  • 公账转法人私账的注意事项
  • 向投资者支付的股息不得在计算应纳税所得额时扣除
  • 企业对公账户钱怎么取出来
  • 没有外币账户可以收外币吗
  • 加计扣除企业所得税季报申报
  • 高速费用支付宝的怎么开票
  • 工商年报实缴出资额是实收资本吗
  • 大病医疗保险能税前扣除吗
  • 子公司计提的盈余公积如何抵消
  • 专用发票过期未抵扣怎么处理?
  • 新办企业能否享受留抵退税
  • 建筑材料专票抵扣
  • 房贷利息抵个税细则 两套房
  • 其他货币资金包括的内容有
  • 房地产契税新政策2021退税
  • 基本生产车间领用周转材料会计分录
  • 金税盘非征期汇总资料未报送
  • 银行财务软件用什么
  • 期末调汇凭证怎么调
  • linux桌面不见了
  • 允许企业所得税税前扣除的公益性捐赠的条件包括
  • macos怎么看
  • 清除cmos有什么后果
  • win7系统网络连接出现红叉
  • PHP:mb_list_encodings()的用法_mbstring函数
  • 网速变慢了
  • abm文件怎么打开
  • PHP:pg_fetch_array()的用法_PostgreSQL函数
  • 融资性租赁的优缺点
  • 期间损益包括
  • 财务管理公司属于什么行业类别
  • joomla模板制作教程
  • 生产设备改良支出需要结转到本年利润吗
  • 税负率一般控制什么
  • 开发成本结转开发产品的分录
  • 税控盘抵税的会计分录
  • 小微企业所得税税率2.5% 10% 25%
  • javascript 模块
  • opengl开发图形界面
  • 注册资金如何使用
  • sqlserver服务请求失败或服务未及时响应
  • 纳税人办理普通发票流程
  • 利润表中利息费用包括手续费吗
  • 计提递延所得税资产影响当期利润吗
  • 去年的分红奖金是多少
  • 长期股权投资如何确认
  • 固定资产多入账怎么写情况说明
  • 付给第三方的差额是什么
  • 扣除土地价款
  • 工会经费缴纳会计分录
  • 企业去银行
  • sql删除重复数据只保留一条日期最大的
  • sql server 3417错误
  • mysql数据库随机取数据
  • 电脑待机状态下载会继续吗
  • debian reference
  • 怎么用uefi装win7
  • win10电脑版微信字体大小怎么设置方法
  • win10阻止可能不需要的应用吗
  • 微软雅黑啥意思
  • xp系统怎么调性能
  • 查看linux系统日志命令
  • ubuntu 21.10安装
  • xboxone系统更新错误
  • windowsxp的功能介绍
  • win8怎么打开ie浏览器
  • linux常用shell命令
  • 添加ie
  • 右键隐藏在哪
  • unity3d spine
  • js随机生成6位数
  • unity3d ik
  • 广东省电子学校
  • 昆山华润燃气多少钱一方
  • 车辆购置税二维码扫描用什么扫
  • 简述进料加工对中国的意义
  • 医保可以直接到税局买吗?
  • 世界近代史的改革有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设