美文网首页
初识 uni app

初识 uni app

作者: Kelly_zj | 来源:发表于2021-01-27 19:41 被阅读0次
uni app是什么?

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

快速上手(vscode编辑器)

1.安装脚手架

cnpm i -g @vue/cli

2.创建uniapp

vue create -p dcloudio/uni-preset-vue uniapp-demo 

3.选择模板,生成项目

选择模板
项目目录

tips:生成以下目录树,首先安装tree, brew install tree ,执行tree -L 3 -I "node_modules" ,具体参数可看tree文档

├── README.md //说明
├── babel.config.js //babel 的配置文件
├── package.json //依赖模块
├── postcss.config.js //postcss 配置文件,autoprefixer插件可以自动生成浏览器前缀; 
├── public //发布页面入口
│   └── index.html
├── src
│   ├── App.vue //应用配置,用来配置App全局样式以及监听
│   ├── main.ts //Vue初始化入口文件
│   ├── manifest.json //配置应用名称、appid、logo、版本等打包信息
│   ├── pages //页面
│   │   └── index
│   │       └── index.vue
│   ├── pages.json //配置页面路由、导航条、选项卡等页面类信息
│   ├── sfc.d.ts
│   ├── static // 公共静态资源
│   │   └── logo.png
│   └── uni.scss //通用样式
├── tsconfig.json
└── yarn.lock
生命周期
  • 应用生命周期 tips:应用生命周期仅可在App.vue中监听,在其它页面监听无效。
函数名 说明
onLaunch 当uni-app 初始化完成时触发(全局只触发一次)
onShow 当 uni-app 启动,或从后台进入前台显示
onHide 当 uni-app 从前台进入后台
  • 页面生命周期tips:先触发 uni-app onReady ,后触发 vue 的 mounted 建议使用uni-app的onLoad 代替 vue的 created
函数名 说明
onLoad 监听页面加载,其参数为上个页面传递的数据,参数类型为Object(用于页面传参),参考示例
onShow 监听页面显示。页面每次出现在屏幕上都触发,包括从下级页面点返回露出当前页面
onReady 监听页面初次渲染完成。注意如果渲染速度快,会在页面进入动画完成前触发
onHide 监听页面隐藏
onUnload 监听页面卸载
onResize 监听窗口尺寸变化
onPullDownRefresh 监听用户下拉动作,一般用于下拉刷新,参考示例
onReachBottom 页面滚动到底部的事件(不是scroll-view滚到底),常用于下拉下一页数据。具体见下方注意事项
onTabItemTap 点击 tab 时触发,参数为Object,具体见下方注意事项
onShareAppMessage 用户点击右上角分享
onPageScroll 监听页面滚动,参数为Object
onNavigationBarButtonTap 监听原生标题栏按钮点击事件
onBackPress 监听页面返回,返回 event = {from:backbutton、 navigateBack} ,backbutton 表示来源是左上角返回按钮或 android 返回键;navigateBack表示来源是 uni.navigateBack ;详细说明及使用:onBackPress 详解。支付宝小程序只有真机能触发,只能监听非navigateBack引起的返回,不可阻止默认行为。
onNavigationBarSearchInputChanged 监听原生标题栏搜索输入框输入内容变化事件
onNavigationBarSearchInputConfirmed 监听原生标题栏搜索输入框搜索事件,用户点击软键盘上的“搜索”按钮时触发。
onNavigationBarSearchInputClicked 监听原生标题栏搜索输入框点击事件
onShareTimeline 监听用户点击右上角转发到朋友圈
onAddToFavorites 监听用户点击右上角收藏
  • 组件生命周期
函数名 说明
beforeCreate 在实例初始化之后被调用
created 在实例创建完成后被立即调用
beforeMount 在挂载开始之前被调用
mounted 挂载到实例上去之后调用
beforeDestroy 实例销毁之前调用。在这一步,实例仍然完全可用
destroyed Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁
页面适配

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

  • rpx 是由微信小程序提出一种方案,解决自适应屏幕尺寸的尺寸单位,即响应式 px,一种根据屏幕宽度自适应的动态单位。以750宽的屏幕为基准,750rpx恰好为屏幕宽度。屏幕变宽,rpx 实际显示效果会等比放大,但在 App 端和 H5 端屏幕宽度达到 960px 时,默认将按照 375px(iphone6) 的屏幕宽度进行计算
// px换算rpx
1px = 2rpx  //举个例子,字体大小是12px,换算为rpx应该是24rpx
标签与组件相关
文件配置相关
页面跳转及路由

uniapp 有自己一套路由管理机制,而未采用vue-route方案

函数名 说明
uni.navigateTo 保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。
uni.redirectTo 关闭当前页面,跳转到应用内的某个页面。
uni.reLaunch 关闭所有页面,打开到应用内的某个页面。
uni.switchTab 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
uni.navigateBack 关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。
uni.preloadPage 预加载页面,是一种性能优化技术。被预载的页面,在打开时速度更快。
uni. navigateTo({
    url:'/pages/index/index',
    success(){
        console.log('成功跳转页面')
    }
})
请求

uniapp 提供网络请求的 apiuni.request,具体支持的请求方法可以参考官网
在各个小程序平台运行时,网络相关的 API 在使用前需要配置域名白名单。
不支持jsonp,跨域问题需要再mainfest.json中配置跨域代理

uni.request({
    url: 'https://xxx.xxx.xxx/request', //仅为示例,并非真实接口地址。
    data: {
        text: 'demo'
    },
    method:'POST',
    header: {
        'Content-Type' : 'application/json',
    },
    success: (res) => {
        console.log(res.data);
    }
});
补充
  • 如果不需要支持app端,则文件可以直接是.vue,如需支持则是.nvue
  • uniapp支持两种渲染引擎
    • h5,小程序走的是webview渲染
    • app走的是weex渲染【原生】
  • uni-app在打包成h5时,默认是不支持直接打开的,因为打包出来是 (/xxx/xxx)这种格式,可在vue.config中配置publicPath,把它配置成(./),但在uni-app中找不到这个文件的。其中官网有提到 点击查看publPath
 "h5" : {  
        "publicPath":"./"
    }
插件市场

相关文章

  • 初识 uni app

    uni app是什么? uni-app 是一个使用 Vue.js[https://vuejs.org/] 开发所有...

  • 初识uni-app

    官方文档:https://uniapp.dcloud.io/README 什么是uni-app 使用 Vue.js...

  • 初识uni-app

    本身从事前端android开发,也偶尔做小程序开发,最近因为公司需求变动,需要考虑做跨平台开发,目前跨平台开发的语...

  • 又来霍霍uni-app了,初识uni-app

    首先,各种介绍不介绍了,开始使用吧! 开发工具HBuilderx , 运行,在开发的菜单中有,点击去各个平台运行即...

  • Uni-App学习路线

    Uni-App学习路线 学习Uni-app用到的技术 Uni-app官网[https://uniapp.dclou...

  • uni-app 介绍

    uni-app 介绍 1、什么是uni-app? uni-app是一个使用 Vue.js 开发所有前端应用的框架,...

  • uni-app保存图片到系统相册

    uni-app保存图片到系统相册 uni-app将图片存入系统的官方api是 uni.saveImageToPho...

  • 小程序:mpvue框架转uni_app框架采坑记录

    uni-app可以多端输出,各平台之前的老项目可以向uni-app转换迁移。mpvue和uni_app都是一个使用...

  • uni-app入门详解

    1 uni-app学习 1.1 什么是uni-app uni-app是一个使用Vue.js语法来开发所有前端应用的...

  • uni-app开发踩坑集合(会持续更新)

    uni-app官网指路 uni-app开发中的坑 1.无法覆盖uni-app提供的组件的样式 直接重写样式会发现并...

网友评论

      本文标题:初识 uni app

      本文链接:https://www.haomeiwen.com/subject/syvkzktx.html