0
点赞
收藏
分享

微信扫一扫

uni-app进阶之Weex/nvue【day6】


Weex/nvue

uni-app进阶之Weex/nvue【day6】_vue.js

Nvue CSS只支持flex layout,这是WebView CSS语法的子集。这是因为操作系统本机布局不支持flex以外的web布局。当然,flex足以安排各种页面,但需要调整写作方法。
Nvue CSS只支持简单的类,对选择器的支持较少。
类仅在绑定时支持数组语法。
nvue中不支持某些web CSS属性,例如背景图像。但是,可以使用图像组件和层次结构来实现类似于web中的背景效果。因为本地开发中没有web这样的背景地图概念

纯原生渲染模式

在应用程序方面,uni app支持混合Vue页面和nvue页面,并支持相互跳转。还支持纯nvue本机渲染。
启用纯本机渲染模式可以减少应用程序端的包体积并减少内存使用。因为WebView渲染模式的相关模块将被删除。
在JSON源代码视图的“app plus”下的manifest配置“renderer”:“native”,这意味着在应用程序端启用纯本机渲染模式。页面JSON注册的Vue页面将被忽略,Vue组件也将由本机呈现引擎呈现。
如果未指定此值,则默认情况下不会启动纯本机渲染。

{    
// ...
/* App平台特有配置 */
"app-plus": {
"renderer": "native", //App端纯原生渲染模式
}
}

weex编译模式

uni-app编译模式

平台

仅App

所有端,包含小程序和H5

组件

weex组件如​​div​

uni-app组件如​​view​

生命周期

只支持weex生命周期

支持所有uni-app生命周期

JS API

weex API、uni API、Plus API

weex API、uni API、Plus API

单位

750px是屏幕宽度,wx是固定像素单位

750rpx是屏幕宽度,px是固定像素单位

全局样式

手动引入

app.vue的样式即为全局样式

页面滚动

必须给页面套或组件

默认支持页面滚动

页面滚动

本机开发没有页面滚动的概念。页面内容高于屏幕高度时不会自动滚动。只有一些组件可以滚动(列表、瀑布、滚动视图/滚动器)。要滚动内容,需要在可滚动组件下进行设置。这不符合前端开发的习惯。因此,当nvue编译为uni app模式时,会自动为页面的外层设置一个滚动条。如果页面内容过高,它将自动滚动。(组件不会嵌套,带有回收列表的页面也不会嵌套)。您可以设置为不自动设置。

{
"path": "",
"style": {
"disableScroll": true // 不嵌套 scroller
}
}
<template>
<div @click="test">
<text>点击页面发送数据</text>
</div>
</template>
<script>
export default {
methods: {
test(e) {
uni.postMessage({test: "数据",value:"数据"});
}
}
}
</script>

在Vue webview中使用plus。Postmessagetouninview(数据,nvueid)发送消息。数据为JSON格式(键值对的值仅支持字符串),nvueid是nvue所在的WebView的ID,WebView的ID获取方法参考:$getappwebview()。
参考nvue中的globalevent模块以侦听plusmessage事件,如下所示:

const globalEvent = weex.requireModule('globalEvent');
globalEvent.addEventListener("plusMessage", e => {
console.log(e.data);//得到数据
});


举报

相关推荐

0 条评论