使用uni-app开发H5端、安卓端遇到的问题

一、雷电模拟器不好用,安装夜神模拟器

下载网址:www.yeshen.com/pg/hydd

二、uniapp 如何去掉头部默认导航

在"pages.json"文件中添加一行""navigationStyle":"custom""代码即可,如下图

三、跨域问题

H5跨域:在manifest.json 文件的H5配置下添加proxy代理

安卓端app不存在跨域问题,不需要反向代理,直接用域名就可以。这里用Vue.prototype不行,安卓端无法识别。

四、点击返回上一页操作不生效

参考网址:www.wangquanwei.com/800.html

五、动态引入高德地图的时候需要在script标签上添加module和lang="renderjs",不添加地图无法显示

renderjs定义

renderjs是一个运行在视图层的js。它比WXS更加强大。它只支持app-vue和web。

renderjs的主要作用:

1.大幅降低逻辑层和视图层的通讯损耗,提供高性能视图交互能力

2.在视图层操作dom,运行for web的js库

renderjs和service层的通信

1.在template中通过用户手动操作触发事件

2.在service层中调用方法

3.在renderjs中调用方法

从renderjs到service层:通过this.$ownerInstance.callMethod()方法可以调用service中的方法,第一个参数是方法名,第二个参数是传过去的参数

  • nvue的视图层是原生的,无法运行js。但提供了bindingx技术来解决通信阻塞。详见
  • 微信小程序下替代方案是wxs,这是微信提供的一个裁剪版renderjs。详见
  • web下不存在逻辑层和视图层的通信阻塞,也可以直接操作dom,所以在web端使用renderjs主要是为了跨端复用代码。如果只开发web端,没有必要使用renderjs。

使用方式

设置 script 节点的 lang 为 renderjs

xml 复制代码
<script module="test" lang="renderjs">
	export default {
		mounted() {
			// ...
		},
		methods: {
			// ...
		}
	}
</script>

#示例

#功能详解

  • 大幅降低逻辑层和视图层的通讯损耗,提供高性能视图交互能力

uni-app的app端逻辑层和视图层是分离的,这种机制有很多好处,但也有一个副作用是在造成了两层之间通信阻塞。尤其是App的Android端阻塞问题影响了高性能应用的制作。

renderjs运行在视图层,可以直接操作视图层的元素,避免通信折损。

在hello uni-app的canvas示例中,App端使用了renderjs,由运行在视图层的renderjs直接操作视图层的canvas,实现了远超微信小程序的流畅canvas动画示例。具体在hello uni-app示例中体验,对比App端和小程序端的性能差异。

  • 在视图层操作dom,运行for web的js库

官方不建议在uni-app里操作dom,但如果你不开发小程序,想使用一些操作了dom、window的库,其实可以使用renderjs来解决。

在app-vue环境下,视图层由webview渲染,而renderjs运行在视图层,自然可以操作dom和window。

这是一个基于renderjs运行echart完整版的示例:renderjs版echart

同理,f2threejs等库都可以这么用。

#注意事项

  • 目前仅支持内联使用。
  • 不要直接引用大型类库,推荐通过动态创建 script 方式引用。
  • 可以使用 vue 组件的生命周期(不支持 beforeDestroy、destroyed、beforeUnmount、unmounted),不可以使用 App、Page 的生命周期
  • 视图层和逻辑层通讯方式与 WXS 一致,另外可以通过 this.$ownerInstance 获取当前组件的 ComponentDescriptor 实例。
  • 注意逻辑层给数据时最好一次性给到渲染层,而不是不停从逻辑层向渲染层发消息,那样还是会产生逻辑层和视图层的多次通信,还是会卡
  • 观测更新的数据在视图层可以直接访问到。
  • APP 端视图层的页面引用资源的路径相对于根目录计算,例如:./static/test.js。
  • APP 端可以使用 dom、bom API,不可直接访问逻辑层数据,不可以使用 uni 相关接口(如:uni.request)
  • H5 端逻辑层和视图层实际运行在同一个环境中,相当于使用 mixin 方式,可以直接访问逻辑层数据。

参考网址:www.jb51.net/article/263...

uniapp官网:uniapp.dcloud.net.cn/tutorial/re...

六、高德地图去除水印,在app.vue页面添加以下css样式去除水印

相关推荐
2501_9159214310 小时前
uni-app 上架 iOS 的完整流程(无需依赖 Mac)
android·macos·ios·小程序·uni-app·iphone·webview
于先生吖1 天前
前后端分离二手商城开发,质检登记、回收回款整套业务源码部署教程
java·开发语言·uni-app
Geek_Vison1 天前
政务一网通APP如何引入AI能力,通过一个AI助手就能够调用所有的功能,实现对话即办事
人工智能·ai·小程序·uni-app·小程序容器
狗凯之家源码网2 天前
UniApp 数藏系统源码部署与定制开发全指南
uni-app
RuoyiOffice3 天前
2026 企业定制开发选型:从零开发、低代码、SaaS 与 RuoYi Office 怎么选?
spring boot·uni-app·开源·saas·oa·定制化·ruoyioffice
三天不学习4 天前
【超详细】Vue3+UniApp+.NET8集成腾讯云IM即时通信全攻略
uni-app·.net·腾讯云·im·即时通信
于先生吖4 天前
前后端分离人事招聘项目,校招宣讲预约+社招双向撮合功能架构设计教程
java·开发语言·uni-app
QQ_5110082854 天前
uniapp微信小程序网上饰品商城售卖系统php python物流
微信小程序·uni-app·php
2501_915909064 天前
深入解析Mock.js:功能、应用及实战案例,提升前端开发效率
android·ios·小程序·https·uni-app·iphone·webview
于先生吖4 天前
前后端分离体育服务项目,场馆计费+线下赛事排行小程序部署开发教程
java·小程序·uni-app