uni-app基础拓展

3.1 生命周期

uni-app生命周期分为应用生命周期、页面生命周期和组件生命周期。

3.1.1 应用生命周期

  1. onLaunch:当uni-app初始化完成时触发(只触发一次)
  2. onShow:当uni-app启动 ,或从后台进入前台显示时触发
  3. onHide:当uni-app从前台进入到后台时触发
  4. onError:当uni-app报错时触发
  5. onUniNViewMessage:对nvuew页面发送的数据监听
  6. onUnhandledRejection:对未处理的Promise拒绝事件监听函数
  7. onPageNotFound:页面不存在监听函数
  8. onThemeChange:监听系统主题变化
    应用生命周期函数只能在App.vue中监听。
    默认有onLaunch、onShow、onHide

3.1.2 页面生命周期

写在pages文件夹的页面文件中

  1. onLoad:监听页面加载,参数是上一个页面传递的参数,参数类型是Object
  2. onShow:监听页面显示。每次页面出现时都会触发
  3. onReady:监听页面初次渲染完成。
  4. onHide:监听页面隐藏
  5. onUnload:监听页面卸载
  6. onPullDownRefresh:监听用户下拉动作,一般用于下拉刷新
  7. onReachBottom:监听特面滚动到底部(不是scroll-view滚到底),一般用于下拉显示下一页数据

使用uni.navigateTo来跳转页面

uni.navigateTo({

url:'/pages/index/testload?id=1&name=uniapp'

})

然后在跳转目标页面,使用option对象获取属性,即option.id和option.name

3.1.3 组件生命周期

  1. beforeCreate:在实例初始化之前被调用
  2. created:在实例创建完成后被立即调用
  3. beforeMount:在挂载开始之前被调用
  4. mounted:在挂载到实例上之后被调用
  5. beforeUpdate:在数据更新时调用,发生在虚拟DOM打补丁之前
  6. updated:在由于数据更改导致虚拟DOM重新渲染和打补丁之后调用
  7. beforeDestroy:在实例销毁之前调用
  8. destroyed:在Vue实例销毁后调用

3.2 条件编译

uni-app实现一套代码多平台运行

关键是通过编译器和运行时来实现

编译器,将uni-app代码统一编译成每个平台支持的特有代码

运行时,用于动态处理数据绑定、事件代理、保证VUE文件和平台宿主数据的一致

uni-app已将常用的组件、JS API封装到框架中,开发者按照uni-app规范进行开发。

大部分情况保证多平台兼容性,但小部分无法跨平台。

使用条件编译,在不同平台运行不同的代码

使用特殊的注释(平台)作为标记,将注释里的代码运行到不同平台。

以#ifdef或#ifndef(两者之一)加%PLATFORM%开头,以#endif结尾

  • #ifdef:if defined表示仅在某平台存在
  • #ifndef:if not defined 表示除了某平台均存在
  • %PLATFORM%:表示平台名称
    样例代码
html 复制代码
<template>
	<view class="content">
		<!-- #ifdef H5-->
			<image class="logo" src="/static/htmlbig.png"></image>
		<!-- #endif-->
		<!-- #ifdef MP-WEIXIN-->
			<image class="logo" src="/static/weixing.png"></image>
		<!-- #endif-->
	</view>
</template>

在css和script中类似,只是注释格式不同,注释中一样#ifdef开头,#endif结尾

3.3 uni-ui组件

3.3.2 uni-scss辅助样式

  1. 颜色类
    前景色:使用与变量同名的颜色类进行设置
    格式uni- c o l o r N a m e c o l o r N a m e 的值有 p r i m a r y 主色, s u c c e s s 成功色, w a r n i n g 警告色, e r r o r 错误色背景色:应用元素的 b a c k g r o u n d − c o l o r 样式,格式 u n i − {colorName} colorName的值有primary主色,success成功色,warning警告色,error错误色 背景色:应用元素的background-color样式, 格式uni- colorNamecolorName的值有primary主色,success成功色,warning警告色,error错误色背景色:应用元素的background−color样式,格式uni−{colorName}-bg
html 复制代码
<view class="uni-primary">主色</view>
<view class="uni-error-bg">错误色</view>
  1. 边框半径类
    使用边框半径类可对元素快速应用border-radius样式,
    格式uni-radius- d i r e c t i o n − {direction}- direction−{size}
  • direction
    边框半径通过t、r、b、l、tl、tr、br、bl来设置4个角,
  • size:
    null:默认值(可忽略)
    0:清理所有圆角
    sm:默认值/2(暂不支持)
    lg:默认值2
    xl:默认值
    6
    pill:9999px
    circle:50%,(nvue不生效)
html 复制代码
<view class="uni-radius-circle"></view>
<view class="uni-radius-t-0"></view>
  1. 间距类
    使用间距类对元素应用margin或padding样式,范围是从0到16.
    格式uni- p r o p e r t y {property} property{direction}-${size}
    property:表示间距类型,其中m表示margin,p表示padding
    direction:指定间距类所应用的边,值有t、b、l、r、x、y、a。
    tblr表示top、bottom、left、right,x对应left和right,y对应top和bottom,a表示所有方向

    <view class="uni-mt-2"> <view class="uni-mx-2" <view class="uni-py-5">
相关推荐
崔庆才丨静觅14 分钟前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60611 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了1 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅1 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅2 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅2 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment2 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅2 小时前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
剪刀石头布啊2 小时前
jwt介绍
前端
爱敲代码的小鱼2 小时前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax