renderjs是什么?
RenderJS 是 UniApp 的专有特性,专门为 UniApp 框架设计,用于在 H5 和 App 端的 WebView 中直接操作 DOM。
renderjs
的主要作用有2个:
- 大幅降低逻辑层和视图层的通讯损耗,提供高性能视图交互能力
- 在视图层操作dom,运行 for web 的 js库
平台差异说明
App | H5 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节跳动小程序、飞书小程序 | QQ小程序 |
---|---|---|---|---|---|---|
√(2.5.5+,仅支持vue) | √ | x | x | x | x | x |
- nvue的视图层是原生的,无法运行js。但提供了bindingx技术来解决通信阻塞。详见
- 微信小程序下替代方案是wxs,这是微信提供的一个裁剪版renderjs。详见
- web下不存在逻辑层和视图层的通信阻塞,也可以直接操作dom,所以在web端使用renderjs主要是为了跨端复用代码。
- 如果只开发web端,没有必要使用renderjs。
使用方式
1、设置 script 节点的 lang 为 renderjs
2、在生命周期里添加js
<script module="test" lang="renderjs"> export default { mounted() { // ... }, methods: { // ... } } </script>