一、uni-app重点总结
1. uniapp 规范
- 页面遵循vue语法,模板块、脚本块和样式块。
- 页面遵循vue单文件组件规范(SFC)
- 页面标签遵循小程序语法规范
- 接口接近小程序规范
- 数据绑定及事件处理遵循vue规范
- 为兼容多端运行,遵循flex布局。
2. uniapp 特色
- 条件编译
1 |
|
1 |
|
1 |
|
- App端的Nvue开发
Nvue是native-vue的简写。是在uniapp中以.nvue结尾的文件,它为app提供了原生的渲染能力。
Nvue内置了weex的渲染引擎,所以在.nvue文件中,既可以使用weex内置的方法,也可以使用uni-app的内置方法。
只能在NATIVE端使用。
- HTML5+
HTML5+引擎为应用提供了原生的安卓端和ios端的方法。有一些复杂功能在html5无法做到时,可以使用html5+引擎。
只能在NATIVE端使用
二、创建uniapp项目
1. 通过hbuilder创建
安装好hbuilder后,
运行:
2. 通过vue命令行创建
环境安装
全局安装vue-cli
1 | npm install -g @vue/cli |
创建uni-app
使用正式版(对应HBuilderX最新正式版)
1 | vue create -p dcloudio/uni-preset-vue my-project |
使用alpha版(对应HBuilderX最新alpha版)
1 | vue create -p dcloudio/uni-preset-vue#alpha my-alpha-project |
三、语法
1. 模板语法
和vue一样
1 | <template> |
2. 数据绑定
在小程序中使用
1 | this.setData({ |
在uni-app中
1 | this.title = 'title' |
其实就和vue是一样的。
3. 条件判断
1 | <view v-if="title==='uniapp'" class="content" :class="className" @click="consoleTitle"> |
注:v-show在uni-app非h5页面中会有坑。尽量不要把v-show放在组件上,在组件外层套一层view。
4. 列表渲染
1 | <view v-for = "(list,index) in lists"> |
5. 内置组件
view
相当于div
text
相当于span
scroll-view
swiper
和swiper-item
match-media
movable-area
和movable-view
:即手指/鼠标按住movable-view
拖动或双指缩放,但拖不出movable-area
规定的范围。
movable-view
必须在movable-area
组件中,并且必须是直接子节点,否则不能移动。
cover-view
和 cover-image
: cover-view
相当于
position: fixed;
但在其中可以写自己的布局。
cover-image
和cover-view
用法相同,区别在于cover-image
只可以放图片,它可以嵌套在cover-view
中
1 | <template> |
button
input