uni-app简介

  • 环境搭建
  • 页面外观配置
  • 数据绑定
  • uni-app的生命周期
  • 组件的使用
  • 条件注释跨端兼容
  • uni-app的事件
  • 导航跳转
  • 组件创建和通信

1 uni-app简介

1.1 简介

​ uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台。官网:https://uniapp.dcloud.io/

1.2 环境搭建

(1)安装编辑器Hbuilder,地址:https://www.dcloud.io/hbuilderx.html ,推荐下载版本为App开发版
(2)微信开发者工具下载,地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
注意:如果是第一次使用,需要先配置小程序ide的相关路径,才能运行成功。需在输入框输入微信开发者工具的安装路径。如果提示工具的服务端口已关闭。要使用命令行调用工具,请打开工具 -> 设置 -> 安全设置,将服务端口开启

1.3 开发规范

为了实现多端兼容,综合考虑编译速度、运行性能等因素,uni-app 约定了如下开发规范:

  • 页面文件遵循 Vue 单文件组件 (SFC) 规范
  • 组件标签靠近小程序规范,详见uni-app 组件规范
  • 接口能力(JS API)靠近微信小程序规范,但需将前缀 wx 替换为 uni,详见uni-app接口规范
  • 数据绑定及事件处理同 Vue.js规范,同时补充了App及页面的生命周期
  • 为兼容多端运行,建议使用flex布局进行开发

1.4 目录结构

pages:业务页面文件存放的目录
components:组件存放目录
static:静态资源存放目录,如图片等
unpackage:打包目录,在这里有各个平台的打包文件
App.vue:应用配置,用来配置App全局样式以及监听应用生命周期
main.js:Vue初始化入口文件
manifest.json:配置应用名称、appid、logo、版本等打包信息
pages.json:用来对 uni-app 进行全局配置,决定页面文件的路径、窗口样式、原生的导航栏、底部的原生tabbar 等
uni.scss:方便总体控制应用风格。比如按钮颜色,边框风格。内置了常用样式变量

1.4 配置

1.1 pages.json

1:globalStyle
2:pages

  • pages节点的第一项为应用入口页(即首页)
  • 应用中新增/减少页面,都需要对 pages 数组进行修改
  • 文件名不需要写后缀,框架会自动寻找路径下的页面资源

3:tabBar

  • 当设置 position 为 top 时,将不会显示 icon(top 值仅微信小程序支持)
  • tabBar 中的 list 是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序。

2 组件简介

1.1 view

1.2 text

1.3 button

1.4 image

3 uniapp中的样式

尺寸单位

uni-app 支持的通用 css 单位包括 px、rpx

  • px 即屏幕像素
  • rpx 即响应式px,一种根据屏幕宽度自适应的动态单位。以750宽的屏幕为基准,750rpx恰好为屏幕宽度。屏幕变宽,rpx 实际显示效果会等比放大。

样式导入

使用@import语句可以导入外联样式表,@import后跟需要导入的外联样式表的相对路径,用;表示语句结束。定义在 App.vue 中的样式为全局样式

选择器

支持.class、#id、element选择器等

4 uniapp中的数据绑定

在页面中需要定义数据,和之前vue中一样,直接在data中定义数据即可

    export default {
        data() {
            return {
                msg: 'hello',
                flag: true,
                imgUrl: 'http://destiny001.gitee.io/image/monkey_02.jpg',
                arr: [
                    {
                        id:1,
                        name:'张三',
                        age: 20
                    },
                    {
                        id:2,
                        name:'李三',
                        age: 30
                    },
                    {
                        id:3,
                        name:'德三',
                        age: 40
                    }
                ]
            }
        }
    }

4.1插值表达式的使用

  • 利用插值表达式渲染基本数据
    {{msg}}
  • 基本运算
    {{1+1}}
  • 插值表达式中使用三元运算
    {{flag?'真的':'假的'}}

4.2v-bind

    

4.2v-for

    
        序号:{{index}},姓名:{{item.name}},年龄:{{item.age}}
    

5 uniapp中的事件

5.1事件绑定和传参

和vue中是一样的,使用v-on进行绑定


      methods: {
        clickHandle(num,e) {
            console.log(num, e)
        }
    }

默认如果没有传递参数,事件函数第一个形参为事件对象。如果有参数还想获取事件对象可以在参数后加入$event


        methods: {
            clickHandle(num,e) {
                console.log(num, e)
            }
        }

6 生命周期

6.1 应用生命周期

6.2页面生命周期

  • onPullDownRefresh 监听用户下拉动作,一般用于下拉刷新
  • onReachBottom 页面上拉触底事件的处理函数(pages.json里的onReachBottomDistance 页面上拉触底事件触发时距页面底部距离)

7 网络请求

uni.request

8 数据缓存

  • 异步方法:

uni.setStorage

uni.getStorage

uni.removeStorage

  • 同步方法:

uni.setStorageSync

uni.getStorageSync

uni.removeStorageSync

9 图片

uni.chooseImage

uni.previewImage

10 跨端

跨端兼容

条件编译

11 跳转

11.1利用组件跳转

navigator

11.2利用api跳转

uni.navigateTo

12 uni-app里组件的创建

组件

组件生命周期

uni.$emit

uni.$on

你可能感兴趣的:(uni-app简介)