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

  • 小米平板5怎么唤醒小爱同学(小米平板5怎么调成电脑模式)

    小米平板5怎么唤醒小爱同学(小米平板5怎么调成电脑模式)

  • 开心消消乐怎么求助好友过关(开心消消乐怎么让好友帮忙过关)

    开心消消乐怎么求助好友过关(开心消消乐怎么让好友帮忙过关)

  • 荣耀50实况模式怎么打开(荣耀实况模式在哪)

    荣耀50实况模式怎么打开(荣耀实况模式在哪)

  • 苏康码怎么退出登录(苏康码怎么退出绑定)

    苏康码怎么退出登录(苏康码怎么退出绑定)

  • 为什么ipad连不上wifi(为什么ipad连不上蓝牙耳机)

    为什么ipad连不上wifi(为什么ipad连不上蓝牙耳机)

  • 华为荣耀20青春版闪屏(华为荣耀20青春版图片)

    华为荣耀20青春版闪屏(华为荣耀20青春版图片)

  • 哈罗单车忘记锁怎么办(哈罗单车忘记锁车怎么处理)

    哈罗单车忘记锁怎么办(哈罗单车忘记锁车怎么处理)

  • 超话等级怎么快速升(如何让超话等级快速上升)

    超话等级怎么快速升(如何让超话等级快速上升)

  • 微信视频一个小时消耗多少流量(微信视频一个小时多少流量)

    微信视频一个小时消耗多少流量(微信视频一个小时多少流量)

  • 学信网上的照片可以下载吗(学信网上的照片可以自己上传吗)

    学信网上的照片可以下载吗(学信网上的照片可以自己上传吗)

  • 京东显示现货一天能到吗(京东显示现货一般多久到)

    京东显示现货一天能到吗(京东显示现货一般多久到)

  • airpods2绿灯闪烁(airpods二代亮绿灯)

    airpods2绿灯闪烁(airpods二代亮绿灯)

  • 苹果手机按home键会响(苹果手机按home键有滋滋的声音)

    苹果手机按home键会响(苹果手机按home键有滋滋的声音)

  • 海思麒麟710f相当于骁龙多少(海思麒麟710f相当于骁龙什么处理器)

    海思麒麟710f相当于骁龙多少(海思麒麟710f相当于骁龙什么处理器)

  • lda al20是华为什么型号(ldn al20是华为什么型号)

    lda al20是华为什么型号(ldn al20是华为什么型号)

  • jkmal00b是什么机型(jkm-al00a是什么型号手机)

    jkmal00b是什么机型(jkm-al00a是什么型号手机)

  • w10系统的运行在哪里(win10运行在哪里)

    w10系统的运行在哪里(win10运行在哪里)

  • 手机进入工程模式怎么退出(手机进入工程模式代码)

    手机进入工程模式怎么退出(手机进入工程模式代码)

  • vivo充电图标在哪调(vivos6充电图标)

    vivo充电图标在哪调(vivos6充电图标)

  • 苹果xr支持18w快充吗(苹果xr支持18w快冲吗)

    苹果xr支持18w快充吗(苹果xr支持18w快冲吗)

  • 新买的苹果xsmax发烫(新买的苹果xsmax怎么使用)

    新买的苹果xsmax发烫(新买的苹果xsmax怎么使用)

  • 通信系统的组成(光纤通信系统的组成)

    通信系统的组成(光纤通信系统的组成)

  • mde6是什么型号(mde5是什么型号)

    mde6是什么型号(mde5是什么型号)

  • 360极速浏览器如何设置兼容模式(360极速浏览器如何保存密码)

    360极速浏览器如何设置兼容模式(360极速浏览器如何保存密码)

  • Vue 3 安装及环境配置(vue3.0安装)

    Vue 3 安装及环境配置(vue3.0安装)

  • php中Composer的按需加载(php composer 常用库)

    php中Composer的按需加载(php composer 常用库)

  • 拟上市企业需要做什么
  • 企业一般会涉及哪些行业
  • 免征增值税的项目如何开发票
  • 所得税 报表
  • 出口资质需要哪些资质
  • 留存收益资本成本率计算公式
  • 多开票要交多少税
  • 当月开票没有收到钱
  • 短期借款利息都需要测算什么
  • 环境评估费应计入什么科目
  • 小规模纳税人改为一般纳税人需要什么材料
  • 建筑公司对外如何开票
  • 企业支付的工伤赔偿需要什么材料
  • 企业会计做无票收入也要交税吗?
  • 折扣折让红字发票内容
  • 进项税额转出年末要结转吗
  • 重疾险可以扣税吗
  • 财税[2016]140号文逐条解读
  • 变相处理问题什么意思
  • 小规模收到增值税专用发票咋处理
  • 增值税发票压线能用吗
  • 增值税小规模纳税人减免增值税
  • 全年物业费需要待摊吗
  • 用人单位在职职工年平均工资怎么算
  • 业务招待费是收入的
  • 会计谨慎性原则是指
  • 存贷款利率计算器
  • 设备固定资产原值
  • 苹果手机把旧手机的照片传到新手机
  • 工伤单位支付
  • PHP:imageistruecolor()的用法_GD库图像处理函数
  • 房屋无偿赠与合同协议书范本
  • 十天学会css教程
  • 简述php的概念和特点
  • node.js教程详细
  • 房产置换怎么做账务处理
  • 购物赠品的相关法律
  • mysql中regexp_substr函数的使用
  • 餐饮店库存盘点表
  • 什么是行政规费和税费
  • 施工图审查费属于什么费用类别
  • 公司承担员工的社保费会计分录
  • 当月确认收入可以下月确认成本吗
  • 织梦专题页模板
  • db2bigint
  • 企业可以一次性现金的方式发放工资
  • sqlserver模糊查询表名
  • 疫情捐款可以抵扣增值税吗
  • 购买原材料没有发票能入库吗
  • 公司收到社保打款怎么办
  • 收到政府补助的会计分录
  • 房租收不回来会计分录
  • 著作权使用费收费标准
  • 固定资产专票可以不抵扣吗
  • 删除表s
  • win10图片修改
  • 微软官微
  • 磁盘已满
  • windows一体机
  • xp系统镜像文件怎么制作
  • 虚拟机怎样用
  • centos 查看用户命令
  • win7网络连接不见了
  • linux系统获取ip地址
  • 微软宣布
  • centos6.9
  • Unity3D面试题整合
  • OSG 砖块 shader 例子 GLSL
  • jQuery实现checkbox列表的全选、反选功能
  • js全选和全不选效果复选框
  • JQuery Ajax WebService传递参数的简单实例
  • unity3d移动代码
  • javascript数据结构与算法
  • js复制字符串的方法
  • google年会
  • 广西2023新农合报销政策
  • 全国企业信用信息系统网官网
  • 税务关系转移社保怎么办理
  • 建筑工地临时板房验收规范最新
  • 成都市武侯区税务局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设