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插值表达式的使用

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

4.2v-bind

    <image :src="imgUrl"></image>

4.2v-for

    <view v-for="(item,index) in arr" :key="item.id">
        序号:{{index}},姓名:{{item.name}},年龄:{{item.age}}
    </view>

5 uniapp中的事件

5.1事件绑定和传参

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

<button type="primary" @click="clickHandle">按钮</button>
      methods: {
        clickHandle(num,e) {
            console.log(num, e)
        }
    }

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

<button type="primary" @click="clickHandle(10,$event)">按钮</button>
        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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容