2023年最新最全uniapp入门学习,零基础入门uniapp到实战项目,unicloud数据后台快速打造uniapp小程序项目 |
您所在的位置:网站首页 › 初级英语零基础视频教程app › 2023年最新最全uniapp入门学习,零基础入门uniapp到实战项目,unicloud数据后台快速打造uniapp小程序项目 |
今天开始带着大家一起零基础学习uniapp,在下面的课程中我们就简称uniapp为uni吧。我这里从零基础开始教大家,后面可以带大家简单的做一个实战项目。所以不用担心自己没有基础,跟着石头哥认真学习就行了的。 一,认识uniapp 1-1,uniapp的好处我们学习uniapp之前先要认识uniapp的好处 总结起来uniapp有以下几点好处 1,同一套代码可以编译运行多端(小程序,安卓,ios,web等)2,节省人力和维护成本3,接近原生,体验效果更好4,开发效率高,开发时间更短5,学习成本比较低(3-15天即可入门)6,社区活跃,版本迭代快,有问题更容易在社区解决 1-2,为什么要选择uni-appuni-app在开发者数量、案例、跨端抹平度、扩展灵活性、性能体验、周边生态、学习成本、开发成本等8大关键指标上拥有更强的优势 从下面uni-app功能框架图可看出,uni-app在跨平台的过程中,不牺牲平台特色,可优雅的调用平台专有能力,真正做到海纳百川、各取所长。其实说白了,就是开发一套uniapp代码,就可以在当前主流的平台上运行。大大的节省了开发成本。 下图可以看到我们一套代码可以在多个平台运行的效果。 uniapp是基于vue框架,所以如果你会vue的话,来学uniapp会很简单 uniapp的开发规范和小程序相似,所以如果你跟着石头哥学过小程序,再来学uniapp就能很快的入门。 当然了,如果你没有小程序或者vue基础,也没事的,只要跟着石头哥认真学习这门uniapp入门课即可。 二,开发者工具所谓工欲善其事,必先利其器。我们开发uniapp肯定要有一个得心应手的开发者工具。 HBuilderX是通用的前端开发工具,但为uni-app做了特别强化。下面是hbuilder官方的简介 其实HBuilderX的安装很简单,我们上面下载好的安装包,解压好就可以了,解压好以后如下图。当然我这里是window电脑的安装过程,大家如果是mac电脑,可以自行安装。安装过程基本上大差小不差的。 一般情况下,我们第一次打开项目关闭的时候,系统会提示我们自动创建一个桌面快捷方式的。 当然如果你有学过石头哥的小程序课程,再来学习uni就可以很快的入门的。反过来说,如果你没有小程序或者vue基础,也没事的,只要跟着石头哥认真学习即可。 3-1,创建一个新的uniapp项目在点击工具栏里的文件 -> 新建 -> 项目 关于项目路径,比如我在桌面新建一个demo1空白文件夹,然后在创建项目时点击浏览,选择自己创建的demo1文件夹即可。 我们上面一步创建好了项目,这一节我们就来认识项目。 一个完整的uni项目的目录结构如下,我们后期随着学习的深入会逐个带大家学习,所以目前阶段,大家只需要大致知道就行,没有必要死记硬背下来。 官方文档也有大致的介绍的
我们常用的开发者工具的功能还有模拟器,调试器,在下一节的。 3-4,项目的预览我们项目的预览常用的有下面几个方式。为了降低大家的学习成本,我们学习阶段主要运行到内置浏览器,后面会慢慢教大家运行到小程序或者手机上。
我们开发好的项目不仅要运行在浏览器里,还需要运行到小程序里,所以我们这里以微信小程序为例,其他的支付宝,百度小程序等,都是一样的原理。 如下图所示,直接点击运行–》运行到小程序模拟器–》微信开发者工具 记住后点击下图的浏览,一步步找到上面的路径即可。 我们后面运行到支付宝,抖音小程序等都是一样的流程。 四,uniapp开发三剑客 4-1,页面布局,样式,js逻辑如果大家学过石头哥的小程序入门课,肯定知道石头哥的小程序开发三剑客。其实uni开发也有自己的三剑客。 和小程序不同的是uniapp的页面布局,样式,逻辑都是写在同一个.vue文件里,所以我们接下来学习uniapp和小程序会有一些差别,但是大体上还是很相近的。所以不管你有没有学过石头哥的小程序课程,都不影响零基础入门uniapp。 我们在开发时为了提高代码编写效率,通常会使用一些快捷键。我们开发工具自带的快捷比较多,我这里不一一列举了,我把一些常用的快捷键拿出来给大家大致讲一讲,我这里以window电脑为例,如果你mac电脑,可以自己去看下开发者工具默认的快捷键。多看几遍把常用的记住就行了。 快捷键组合描述Ctrl+A全选Ctrl+C复制选中内容Ctrl+V粘贴复制的内容Ctrl+D删除当前这行的代码Ctrl+N新建文件Ctrl+W关闭文件Ctrl+Shift+W关闭全部文件Ctrl+S保存文件Ctrl+/开启/关闭代码注释Ctrl+Shift+/开启/关闭注释已选内容Ctrl + Shift +R复制当前行到下一行Ctrl+F打开搜索离材条,可以查找替换指定内容或者全部内容Ctrl+H打开搜索框,可以搜所指定内容位置Ctrl+R快速打开运行框Ctrl+Z撤销修改,返回上一步Ctrl+Shift+Z返回下一步Ctrl+↑向上移动行代码Ctrl+↓向下移动代码Alt+/激活代码助手如果感觉默认的快捷键不喜欢,可以自己重新设置快捷键,这里不太建议自定义快捷键,熟记自带的常用的快捷键就可以了。 我们在学习后面课程之前,先来学习下注释。注释是在代码里给予提示使用的,主要是让别人更快的熟悉你的代码,也方便后期自己看自己的代码,快速回忆起来使用的。 注释有快捷键的,正好我们上面一节有讲常用的快捷键。 window电脑:Ctrl+/mac电脑:command+/可以看到我们常用的三种注释如下,正好和我们前面学的三剑客对应起来。 布局的注释是:js逻辑代码的注释是: //css样式的注释是:/* */![]() 我们在开发过程中,总会遇到各种各样的问题,学会在控制台看日志,对我们来说可以帮助我们快速的定位问题,解决问题。 我们开发过程中也会经常用到日志打印。日志打印呢,就是事先打印出来一些东西,用以验证我们的代码输出的结果是否正确。 5-3-1,内置浏览器打印日志日志打印的语法如下 console.log("我的打印出来的日志内容")
有的同学在上面内置浏览器里无法打印日志,所以这里提供一个备用方案,我们在前面运行项目章节有教大家怎么样运行到电脑浏览器。我们只需要运行项目到自己电脑浏览器即可。 我们的代码的编写好,就可以点击运行,有时候运行会在控制台的日志报错,一般的报错如下图,基本上都是深颜色的爆红,所以一般情况下,控制台日志里出现爆红,就说明我们的代码有错误,这时候就要根据报错日志,去定位自己的代码错误了。 我们在后面的实战课程中,会故意写一些错误代码,然后教大家如何识别错误,更改代码。
uni为开发者提供了一系列的基础组件,这些组件类似于html里的基础标签元素,但是uni与html不同,和小程序更相似,更适合在移动手机端。 如下图所示,左边是uni项目,右边是小程序项目。可以看到uni和小程序都用了view组件,所以uni和小程序还是更相似些。 view组件:相当于一个盒子,可以用来装一些别的组件。它类似于传统html中的div,用于包裹各种元素内容 官方文档:https://uniapp.dcloud.net.cn/component/view.html 如果大家有html的web基础,就可以把我们小程序里的view理解为html里的div标签。如果你没学过也无所谓,直接跟着我学习view即可。 在代码里简单的使用: text组件:主要用来显示文字的。 input组件主要用来获取用户输入的信息的,一般在用户填写信息,提交数据,登录注册和提交表单时会用到。 官方文档:https://uniapp.dcloud.net.cn/component/input.html 输入框input有很多属性,我这里把一些常用的属性带着大家学习下。其他的大家可以自己去看官方文档详细学习 button 组件:是按钮组件,自带默认的按钮效果,我们后面会经常用到。 官方文档:https://uniapp.dcloud.net.cn/component/button.html button按钮有很多属性,我这里把一些常用的属性带着大家学习下。其他的大家可以自己去看官方文档详细学习 image组件:主要用来显示图片,可以是本地图片,也可以是网络图片。 官方文档:https://uniapp.dcloud.net.cn/component/image.html 我们的image组件常用的就是src,mode,lazy-load这三个属性,所以接下来会重点给大家讲解下这三个属性。 当我们不给image设置宽高时,image组件的默认宽度是320px,高度240px。 我们通过src属性来设置要显示的图片资源,图片资源有两种 本地图片资源网络图片资源由于我们本地的图片会占用小程序软件包的大小,所以这里推荐大家尽量使用网络图片。 如下图,我们显示一个网络图片。 这里给大家一个网络图片地址 https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg 如果这个地址过期了,大家可以到网上自己找图片。随便找个图片,然后右键,点击复制图片地址,就可以获取到网络图片了。 用image显示本地图片,我们需要提前把图片放在static,如下图我们把本地图片放在static目录里 然后在image组件里设置src属性,指向这个本地图片,就可以在uniapp里展示了。 我把网络图片和本地图片都在小程序里展示,给大家对比着学习下。 image组件另外一个比较重要的属性就是mode了。我们在使用图片时,不能百分之百保证图片的比例正好是我们想要的,这个时候就要用到图片的裁剪和缩放了。 mode 的常用设置如下 值说明scaleToFill缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素aspectFit缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。aspectFill缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。widthFix缩放模式,宽度不变,高度自动变化,保持原图宽高比不变heightFix缩放模式,高度不变,宽度自动变化,保持原图宽高比不变 2.10.3top裁剪模式,不缩放图片,只显示图片的顶部区域bottom裁剪模式,不缩放图片,只显示图片的底部区域center裁剪模式,不缩放图片,只显示图片的中间区域left裁剪模式,不缩放图片,只显示图片的左边区域right裁剪模式,不缩放图片,只显示图片的右边区域top left裁剪模式,不缩放图片,只显示图片的左上边区域top right裁剪模式,不缩放图片,只显示图片的右上边区域bottom left裁剪模式,不缩放图片,只显示图片的左下边区域bottom right裁剪模式,不缩放图片,只显示图片的右下边区域也可以看官方文档 比如我们设置mode属性为center,就可以看到我们只保留图片中间区域 image组件是支持图片懒加载的,图片懒加载。只针对page与scroll-view下的image有效,其实就是当我们一个列表页有很多图片时,我们可以使用懒加载,来加快页面加载速度。使用懒加载时,我们只需要给image设置lazy-load就可以了。 我们在页面布局里写数据,一般情况下可以直接写,比如下面我们可以用10个text里显示10个编程小石头,假设我们有一个这样的需求,需要把编程小石头给为石头哥。如果我们每个都改一遍,是不是要改10遍,这样就导致效率低下了。 数据绑定最常见的形式就是使用 {{…}}(双大括号)的文本插值,就是用{{}}包裹你的值,然后这个值就可以动态的显示了,比如我用 {{name}} 然后给这个name设置值为:编程小石头,如下,可以看到我们和上面写10遍编程小石头是一样的。
关于数据绑定的语法需要大家记住,一定要多练,因为后面会经常用的。 就是在页面布局需要显示数据的地方用 {{数据名}} 然后在js的data里设置数据值,如下: 我们上面一节学习的文本插值式的数据绑定,那是把我们的数据动态的绑定到组件外。 如果我们想动态的绑定组件内的属性数据呢。比如我们的image图片组件的src属性,我们的图片链接不想写死,想动态的去替换。这个时候就可以用v-bind 动态地绑定属性了 v-bind也可以缩写为‘ : ’,可以用于响应式地更新 这里要注意文本插值和属性绑定是有区别的 文本插值绑定数据,需要用{{}}v-bind属性绑定,不需要{{}}![]() 我们上面通过{{}}绑定数据到data里,我们绑定的数据有时候也需要用,而使用绑定的数据,可以通过this.数据名来使用 函数的两种使用方式如下图: 我们的函数一般是写在js逻辑区域的methods里,比如我们定义一个getname函数,有下面两种写法。 接下来我们学习事件,我们常用的事件如下,这里我们先重点讲解下@click点击事件和 @input获取输入值的事件 我们如果想给一个组件定义点击事件,就要用到uni的事件处理,由于uni是基于vue语法的额,所以我们给uni里的组件定义点击事件,就要用到vue的语法。 我们给一个组件绑定点击事件的语法如下: 我们可以使用 v-on 指令来监听点击事件,从而执行 JavaScript 代码。 v-on 指令可以缩写为 @ 符号。 语法格式: v-on:click="methodName" 或 @click="methodName"methodName就是函数名,如下所示 获取input输入框里用户输入的内容有两种方式 @input结合函数v-model数据绑定获取输入内容(推荐) 7-5-1,@input结合函数获取输入内容我们获取用户输入会用到@input事件,其实我们在学习input组件时,官方有给出这个属性的。 看官方的文档,可以知道@input主要是为了获取用户的输入内容。 @input的定义如下图,其中的getname就是我们定义的函数,用来接收用户输入的。 在布局里定义好bindinput事件以后,在js页面再定义一个和事件名一样的函数即可。 v-model是什么 v-model就是vue的双向绑定的指令,能将页面上控件输入的值同步更新到相关绑定的data属性,也会在更新data绑定属性时候,更新页面上输入控件的值。 为什么使用v-model v-model作为双向绑定指令也是vue两大核心功能之一,使用非常方便,提高前端开发效率。在view层,model层相互需要数据交互,即可使用v-model。 v-model的原理简单描述 v-model主要提供了两个功能,view层输入值影响data的属性值,data属性值发生改变会更新view层的数值变化 具体的语法如下: 下面来对比下@input和v-model的代码 另外,v-model 还可以用于各种不同类型的输入数据的获取,用于在表单类元素(单选、多选、下拉选择、输入框等)上双向绑定数据,后面学习中用到我会再做具体讲解。 八,变量的学习 8-1,什么是变量用大白话讲:变量就是一个装东西的盒子 再通俗些讲:变量就是用于存放数据的容器,我们通过变量名获取对应的数据。 变量由变量名和存储的值组成,语法如下 var x = 7; var y = 8; var z = x + y; 从上例中,您可知道x,y,z是三个不同的变量名: x 存储值 7 y 存储值 8 z 存储值 15变量有点类似我们的酒店房间。一个房间就可以看作是一个变量。例如我们的808号房间是情侣间。那么808这个房号就相当于我们的变量名,情侣间就是这个变量存储的值。 8-3,变量的使用变量在使用时分两个步骤: 1,声明变量来看下具体代码 //声明变量 var age这段代码的意思是声明一个叫age的变量 var是一个JavaScript关键字,用来声明变量,使用该关键字声明变量以后,计算机会自动为变量分配一个内存空间,用来存储数据。 age就是我们的变量名,我们要通过变量名来访问到计算机内存里分配的空间。 2,赋值还是拿我们的酒店房间来举例,声明变量就相当于在前台办理入住,确定要住那个房间,也就是确定房间号(变量名),然后确定房间号对应的房型,比如单人间,双人间,情侣间。而确定房型就相当于是给变量赋值。 //给age赋值 age=10这段代码的意思,就是给age变量赋值为10 上面的 = 用来把右边的值赋给左边的变量名,也就是把我们的变量名age指向数值10,就可以用age来操作我们的数值了。赋值的目的就是为了后面使用数值。 8-4,变量的初始化我们上面变量的使用可以直接写到一行 var age=10声明变量同时给变量赋值,我们称之为变量的初始化。 8-5,变量的重新赋值一个变量可以被重新赋值,新的赋值会覆盖掉前面的赋值,变量值将以最后一次赋的值为准。 var age=10 age=18如上面的代码,我们的变量age先被赋值10,后又被赋值18,那么最后我们的age就是18 这就好比,酒店的房间,808屋一开始住的是石头哥,后面石头哥走了,刘德华住进去了,那这个时候你再去808找人,找到的就是刘德华了。 8-6.变量的命名规范 名称可包含字母、数字、下划线和美元符号名称必须以字母开头名称对大小写敏感(y 和 Y 是不同的变量)不能是关键字,保留字(比如 JavaScript 的关键词)遵守驼峰命名法,首字母小写,后面的单词的首字母大写。如userName还记得我们的7-5这节学习了如何获取用户输入的信息吗?我们是不是可以用变量来存储我们获取到的用户输入信息呢。 讲解视频里会做详细讲解 8-8,全局变量和局部变量局部变量:变量在函数内声明,只能在函数内部访问。 全局变量:变量在函数外定义,整个代码都可以调用的变量。 下面是我们小程序里的全局变量和局部变量。 上一节变量的学习,我们知道变量是用来装数据的盒子,可是数据有很多,有各种各样的类型。不同类型的数据占用的计算器内存也不一样。就好比胖子睡大床,瘦子睡小床就行。 在计算机中不同的数据占用的存储空间是不同的,为了便于区分,充分利用存储空间,于是就定义了不同的数据类型。 简单来说,数据类型就是数据的类别型号,比如“张三”是个人名,18是个数字 9-2,常见的数据类型我们的数据类型可以分成下面两大类 简单数据类型(Number String Boolean Undefined Null)复杂数据类型(Object) 简单数据类型 简单数据类型描述默认值Number数字型,包含整数和小数,如 18,18.80String字符串型,如“小石头”。注意js里字符串都要带引号“”Boolean布尔值类型,就true和false两个值,代表正确和错误falseUndefinedUndefined 这个值表示变量不含有值,如var a;声明了变量a,但是没有赋值,就是undefinedundefinedNull空值,如var a=null,声明了变量a为空值null 9-3,数字型Numberjs数字类型的数据,既可以是整数,也可以是小数(浮点数) var age=21 //整数 var PI=3.1415 //小数 9-4,字符串String用引号或者双引号包起来的都是字符串类型,如 “编程小石头”,‘石头哥’都是字符串。字符串和羊肉串有点像,羊肉串是用竹签把羊肉一串串的串起来。字符串就是把字符串起来。 var name="编程小石头" //字符串 var age1="18" //字符串 var age2=18 //数字型上面代码的age1和age2是有区别的,age1的18被双引号包裹着,所以是字符串,age2就是一个数字18,所以是数字型。这也进一步说明了,只要是被单引号或者双引号包裹着的都是字符串类型。 字符串长度字符串是由若干字符组成的,这些字符的数量就是字符串的长度,通过字符串的length属性可以获取整个字符串的长度。 还是拿羊肉串来类比,比如你一个羊肉串上串了5块羊肉,那么这个羊肉串的长度就是5。 使用的语法如下 var name="编程小石头" console.log(name.length) //这里的输出结果是5 字符串的拼接多个字符串之间可以使用 + 进行拼接,其拼接方式为 字符串+字符串=拼接之后的新字符串。 语法如下: var name="编程小石头" var weixin=2501902696 var test=name+weixin console.log(test) //输出结果:"编程小石头2501902696" console.log(12+12)//输出结果:24 console.log("12"+12)//输出结果:1212上面的12+12=24,“12”+12=“1212” 这就告诉我们字符串加任何类型的数据,拼接后的结果都是字符串。 9-5,布尔型Boolean布尔类型有两个值:true和false,其中true表示真,false表示假。 var flag=true 9-6,Undefined和Null一个声明后没有赋值的变量会有一个默认值 undefined 一个声明变量,并且赋值null,就代表这个变量是空值(学习object对象时,我们会继续研究null) null 和 undefined 的值相等,但类型不同,下面的8-7会有代码演示 9-7,typeof 操作符typeof 操作符用来检测变量的数据类型 typeof "John" // 返回 string typeof 3.14 // 返回 number typeof false // 返回 boolean打印null和undefined的数据类型如下 var aaa=undefined var bbb=null console.log(aaa==bbb)//输出结果:true console.log(typeof aaa)//输出结果:undefined console.log(typeof bbb)//输出结果:object注意:这里的 == 用来判断值是否相等,后面会讲。 上面的代码可以看出:null 和 undefined 的值相等,但类型不同 9-8, 数据类型的转换就是把一种数据类型的变量转换成另外一种数据类型,比如把字符串的 “18”转换为数字类型的18 常用的数据类型转换 把其他类型转为字符串型把其他类型转为数字型 转换为字符串 方式说明案例toString()转为字符串var num=1 num.toString()String()转为字符串var num=1 String(num)用加号拼接字符串转为字符串var num=1 “”+num 转换为数字型(重点) 方式说明案例Number()将字符串转换为数字Number(“3.14”) // 返回 3.14parseFloat()解析一个字符串并返回一个浮点数parseFloat(“3.12”) //返回3.12parseInt()解析一个字符串并返回一个整数parseInt(“3.12”) //返回3转为数字的几个特殊情况 console.log(Number(""))//空字符串转换为 0 console.log(Number(true))//true转换为1 console.log(Number(false))//false转换为0 console.log(Number("编程小石头"))//其他的字符串会转换为 NaN (不是个数字) 十,运算符运算符也被称为操作符,是用于实现赋值,比较和运算等功能的符号。 10-1,算数运算符 运算符描述例子x 运算结果 |加法| x=5+2 |7 |减法| x=5-2 |3 |乘法|x=5*2| 10 / |除法| x=5/2 |2.5 %|取模(余数)| x=5%2| 1 10-2,表达式和返回值表达式:是由数字,运算符,变量等以能求得结果的有意义的操作组成的式子。 表达式最终都会有一个结果返回给我们,这个返回结果我们称之为返回值 如 let x=1+1 这里的1+1就是由数字和加号组成的表达式,然会返回结果2赋值给x,那么x的值就是2。通俗的讲就是先把右边的表达式计算完毕然后把值返回给左边的x。 10-3,比较运算符比较运算符是两个数据进行比较时所使用的运算符,比较运算以后会返回一个布尔值的结果,就是返回对或者错(true或false) 运算符描述案例结果=2|false |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |