uni-app 介绍及使用

news2025/1/20 11:59:09

一、什么是uni-app

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

        官方学习网站uni-app官网。

二、如何学习uni-app

        在学习uni-app之前,建议先学习vue和小程序。uni-app技术框架为Vue语法+小程序的api,有所了解之后再使用uni-app,会更快上手。

        如果要开始学习,请准备:

        1. HBuilderx开发与编译工具;

        2. 微信小程序开发工具:用于微信小程序预览测试;

        3. 小程序模拟器:MuMu、雷电等。

三、uni-app使用

3.1 创建项目

        利用HBuilderX可视化创建比较简单,无需配置nodejs,Hbuilder已经有相关环境配置了。 注意要安装相对应的插件。

3.2 运行到多端

1. H5运行,即运行到内置浏览器

2. 运行到小程序,以微信小程序为例

打开开发工具的服务端口 设置小程序的端口

 

HBuilderx 配置微信开发工具的地址,运行->运行到小程序模拟器->运行设置输入微信开发者工具路径

 manifest.json->微信小程序配置

 运行到微信小程序

 3. 运行到模拟器

 打开模拟器或者手机

配置模拟器端口,运行->运行到手机或模拟器->Android模拟器端口设置

夜神模拟器端口号:62001、海马模拟器端口号:26944、逍遥模拟器端口号:21503、MuMu模拟器端口号:7555、天天模拟器端口号:6555。

运行

四、组件/标签

来自:白话uni-app:https://ask.dcloud.net.cn/article/35657,将uni-app的组件/标签跟html做了一个对比。

​
div 改成 view
span、font 改成 text
a 改成 navigator
img 改成 image
input 仅仅是输入框。 原html规范中input不仅是输入框,还有radio、checkbox、时间、日期、文件选择功能。在uni-app和小程序规范中,input仅仅是输入框。其他功能uni-app有单独的组件或API:radio组件、checkbox组件、时间选择、日期选择、图片选择、视频选择、多媒体文件选择(含图片视频)、通用文件选择。
form、button、label、textarea、canvas、video 这些还在。
select 改成 picker
iframe 改成 web-view
ul、li没有了,都用view替代。做列表一般使用uList组件
audio 不再推荐使用,改成api方式,背景音频api文档
其实老的HTML标签也可以在uni-app里使用,uni-app编译器会在编译时把老标签转为新标签,比如把div编译成view。但不推荐这种用法,调试H5端时容易混乱。
​

除了改动外,还新增了一批手机端常用的新组件。

scroll-view 可区域滚动视图容器
swiper 可滑动区域视图容器
icon 图标
rich-text 富文本(不可执行js,但可渲染各种文字格式和图片)
progress 进度条
slider 滑块指示器
switch 开关选择器
camera 相机
live-player 直播
map 地图
cover-view 可覆盖原生组件的视图容器 cover-view需要多强调几句,uni-app的非h5端的video、map、canvas、textarea是原生组件,层级高于其他组件。如需覆盖原生组件,则需要使用cover-view组件。

         因为uni-app的api是参考小程序的,所以和浏览器的js api有很多不同,uni-app的js api还有很多,但基本就是小程序的api,把wx.xxx改为uni.xxx即可。

alert,confirm ->uni.showmodel
ajax axios -> uni.request
cookie、session 没有 local.storage->uni.storage
vue-router-> uni.navigateTo

         uni-app在不同的端,支持条件编译,无限制的使用各端独有的api。

五、页面管理

        每个可显示的页面,都必须在 pages.json 中注册。如果你开发过小程序,那么pages.json类似app.json。如果你熟悉vue,这里没有vue的路由,都是在pages.json里管理。

        在vue项目中首页一般是index.html或default.html,是在web server里配的。而uni-app的首页,是在pages.json里配的,page节点下第一个页面就是首页。一般在/pages/xx的目录下。

        app和小程序中,为了提升体验,页面提供了原生的导航栏和底部tabbar,注意这些配置是在pages.json中做,而不是在vue页面里创建,但点击事件的监听在显示的vue页面中做。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/44005.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单文件组件环境配置步骤---vue-cli版

因为浏览器只认识:html、css、js文件,其他一概不认识; 所以要把单文件组件的vue文件转化为上面浏览器能认识的文件; 有两种环境配置途径: 第一种就是:配置webpack环境,要下载很多东西&#x…

灰色预测GM(1.1)模型及matlab程序负荷预测

灰色GM(1.1)预测模型 GM(1.1)模型由包含单一变量的一阶微分方程构成的模型,是灰色模型中最常用的模型。 设有负荷变量为的原始数据列: (3-1) 生成一阶累加数据列: (3-2) 其中 (3-3) 一阶微分方程的解呈指数增长形式&#xff0c…

URLDNS利用链分析

目录 前言: (一)原理 (二)利用链 再来分析 URLDNS.java 这个文件,并且在入口处设置断点进行调试: (三) POC 参考资料 前言: URLDNS是Java反序列化中比较简单的一个链…

引擎入门 | Unity UI简介–第2部分(1)

欢迎回来! 在这个三部分教程系列的第二部分中,你将学习如何在用户界面中加入动画。 在上一个部分中你学习并创建了一个带有两个按钮的场景,也学会了如何使用图像、按钮和文本UI控件,并学习了RectTransform、Anchors和Pivots等核心概念&#…

元宇宙的核心技术之我见

14天学习训练营导师课程: 张子良《 元宇宙体系结构、关键技术和实践探索》 前言 提起元宇宙,相比读者都有所耳闻,而且元宇宙最近两年时间里异常的火,堪比之前的人工智能的火爆场景,甚至要超越人工智能的火爆度了。但是…

kubernetes namespace pod label deployment介绍与命令

kubernetes namespace pod label deployment 介绍与命令 1: namespace Namespace是kubernetes系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。 默认情况下,kubernetes集群中的所有的Pod都是可以…

STM32实战总结:HAL之wifi

关于无线传输的基础知识,参考: 无线通信技术概览_路溪非溪的博客-CSDN博客 学了这么多,发现信息技术主要就是数据的存储、处理以及传输这几个过程。通过各种各样的技术,来实现这几个目标。 wifi模块 现在常用的是wifi模块&#xf…

今天面了个腾讯拿38K出来的,让我见识到了基础的天花板

各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文,为此咱这里也统一做一次大整理和大归类,这也算是划重点了。 俗话说得好,他山之石,可以攻玉,多看多借鉴还是有帮助的,这次腾讯也在疯狂…

自动化测试如何实施落地?详细教程来了

目录 前言 落地前:分析因素 开展前:评估价值 落地过程:解决问题 推广运营:关注反馈&输出价值 文末总结 重点:配套学习资料和视频教学 前言 这篇文章, 就聊聊自动化项目如何落地,以及…

25. [Python GUI] PyQt5中拖放的基本原理

PyQt5的拖放 拖放涉及到的主要的一些类如下所示: 一、拖放的基本原理 1.1 拖放的动作 拖放操作包括两个动作: 拖动(drag)放下(drop 或称为放置)。 当被拖动时拖动的数据会被存储为 MIME 类型的对象, MIME 类型使用 QMimeData 类来描述。…

C++——new和delete关键字

什么是new和delete new和delete不是函数,和sizeof一样都是C定义的关键字,不同的是sizeof在编译时就可以确定其返回值,而new和delete相对复杂 示例 string *ps new string("hello world");如果换做c语言,上面这句话就…

数据库——数据库备份与恢复

目录 原因: 数据库的备份与恢复: 1、使用MySQLdump命令备份 2、恢复数据库 表的导入和导出 1、表的导出 2、表的导入 原因: 尽管采取了一些管理措施来保证数据库的安全,但是不确定的意外情况总是有可能造成数据的损失,…

数据库理论 05 关系数据库设计——基于《数据库系统概念》第七版

通过E-R图转换得出一组关系模式后 **选择1:**把一些关系模式合并为更大的关系 —— 会产生过多的数据冗余 inst_dept(ID, name, salary, dept_name, building, budget)如果通过E-R模型转换得出如下两个关系模式 sec_class(sec_id, building, room_number) and se…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java计算机专业建设管理系统3286d

面对老师五花八门的设计要求,首先自己要明确好自己的题目方向,并且与老师多多沟通,用什么编程语言,使用到什么数据库,确定好了,在开始着手毕业设计。 1:选择课题的第一选择就是尽量选择指导老师…

ThreadLocal源码解析 1.运行原理

ThreadLocal源码解析—运行原理 简介 ThreadLocal 类用来提供线程内部的局部变量,这种变量在多线程环境下访问(通过 get 和 set 方法访问)时能保证各个线程的变量相对独立于其他线程内的变量,分配在堆内的 TLAB 中。 ThreadLoc…

【Mybatis编程:根据若干个id批量删除相册(动态SQL)】

目录 1. 执行的SQL语句 2. 在AlbumMapper.java接口添加抽象方法 3. 在AlbumMapper.xml中配置以上抽象方法映射的SQL语句 4. 标签书写规范 1. 执行的SQL语句 需要执行的SQL语句大致是: delete from pms_album where id? or id? or ... id? delete from pms…

《机器学习实战》10.K-均值聚类算法

目录 利用K-均值聚类算法对未标注数据分组 K-均值聚类算法 2 使用后处理来提高聚类性能 3 二分K-均值算法 4 示例:对地图上的点进行聚类 4.1 Yahoo!PlaceFinder API 4.2 对地理坐标进行聚类 5 本章小结 本章涉及到的相关代码和数据 利用K-均值聚…

Unity基本编译环境设置(代码自动补全)

基本说明: 中国 Unity 官网下载地址:https://unity.cn/releases 请下载 Unity HUB 来管理和安装你的 Unity 各种版本 场景一: Windows系统 |Unity 2020之前的版本 |Visual Studio Community编辑器 电脑中没有任何…

并发控制常用定位方法及解决措施

并发控制常用定位方法及解决措施 7.1 排队问题 出现业务阻塞、性能下降、查询无响应等类似现网问题时,通过以下方法可以排查是否排队问题并定位排队原因,同时根据排队原因给出相应规避措施。 7.1.1 确认是否排队 首先确认是否排队问题,其…

力扣(LeetCode)2095. 删除链表的中间节点(C++)

快慢指针 设置哑结点,便于删除头结点。找到链表的中间结点,可以用快慢指针从头结点出发,慢指针最后停在中间结点。删除中间结点,应当找中间结点的前一个结点。于是想到加入哑结点,这样初始快慢指针既可以往前一个位置…