uniapp使用教程(包括下载、初次使用以及使用中的一些细节总结)-程序员宅基地

技术标签: 前端  uni-app  

记录,以防后面忘记

感觉uniapp就是vue的语法结构、小程序的api和标签 这两者混合起来使用

1、下载,参考之前的博文https://blog.csdn.net/mao871863224/article/details/109328749

2、开始使用:
在这里插入图片描述

(1)一般在pages.json里面进行页面的全局配置(参照官方文档https://uniapp.dcloud.io/collocation/pages
pages.json

这里面配置的主要内容包括:所有页面路径、全局的外观、底部tabBar、生产环境入口配置

{
    
	"pages": [{
    
			"path": "pages/index/index",
			"style": {
    
				// 页面级的配置文件
				"navigationBarTitleText": "我的学习"
			}
		},
		{
    
			"path": "pages/my_test/my_test",
			// 设置该页面独有的样式
			"style": {
    
				// 页面级的配置文件
				"navigationBarTitleText": "我的test",
				"navigationBarBackgroundColor": "#2C405A",
				"navigationBarTextStyle": "white",
				// 设置h5下拉刷新的图标颜色,这对小程序中的样式没有任何影响
				//除了h5,其他端也可以设置独有的样式
				"h5": {
    
					"pullToRefresh": {
    
						"color": "#007AFF"
					}
				}
			}
		}, {
    
			"path": "pages/detail/detail",
			"style": {
    
				"navigationBarTitleText": "详情页",
				"enablePullDownRefresh": false
			}

		}
	],
	// 配置全局外观
	"globalStyle": {
    
		// 配置导航栏标题颜色,仅支持black/white
		"navigationBarTextStyle": "black",
		// 配置标题文字内容
		"navigationBarTitleText": "我的学习",
		// 配置导航栏背景色
		"navigationBarBackgroundColor": "#7FFF00",
		"backgroundColor": "#7FFF00",
		"enablePullDownRefresh": true,
		"backgroundTextStyle": "light"
	},
	"easycom": {
    
		"autoscan": true,
		"custom": {
    
			"tui-(.*)": "@/components/thorui/tui-$1/tui-$1.vue"
		}
	},
	// 设置底部导航栏
	"tabBar": {
    
		"list": [{
    
				"text": "首页",
				"pagePath": "pages/index/index",
				"iconPath": "",
				"selectedIconPath": ""
			},
			{
    
				"text": "测试",
				"pagePath": "pages/my_test/my_test",
				"iconPath": "",
				"selectedIconPath": ""
			}
		],
		"color": "#000000",
		"selectedColor": "#007AFF",
		// 背景色
		"backgroundColor": "#16AB60",
		"borderStyle": "white"
		// 仅支持微信小程序
		// "position": "top"
	},
	// 用于生产环境配置,不需要在pages里面去自己配置,配置启动模式
	"condition": {
    
		"current": 0,
		"list": [{
    
			"name": "详情页",
			"path": "pages/detail/detail",
			"query": "id=80"
		}]
	}
}

记录一个技巧,路径其实不需要手动去一个一个写,在pages新建页面的时候直接点击新建页面,就会直接创建一个包含框架的新页面,并且会自动在pages.json中写入路径

在这里插入图片描述
(2)配置好了就可以开始画页面了

这里只记录我觉得该记录的点

1)使用标签基本上和小程序一样

2)样式使用scss/less需要去控制台给你报错的链接里面直接去下载就行,下载好即可使用

3)可以使用@import引入外部样式文件

4)uni.scss文件里面是全局样式,页面中的样式可以直接使用里面的变量
在这里插入图片描述

5)尺寸单位使用rpx

6)数据的声明跟vue一样,写在data里面,记得写return,数据绑定完全使用vue的方式,使用{ {}}或者v-bind或者在属性前面简写:

7)循环使用vue的:v-for,后面记得加 :key=“index”,标识唯一性

8)点击事件使用vue的,@click,方法定义在methods里面,传参什么的也跟vue一样

9)声明周期函数:
分为三种:
1、应用的声明周期,针对于整个项目来说
在这里插入图片描述
2、页面生命周期函数,针对某一个页面来说,这跟小程序很像
在这里插入图片描述
10)配置某一个页面的下拉刷新、触底等属性要去pages.json中去单独配置这个页面的对应属性

11)存储数据使用uni.setStorage进行本地缓存,适配不同端

12)选择图片uni.chooseImage等这些方法内不写成箭头函数的时候,需要改this指向才能获取到this上挂载的数据,还有一种办法就是把这些方法写成箭头函数,直接使用this就可以获取到数据(因为箭头函数没有自己的this值,箭头函数中所使用的this来自于函数作用域链,也就是父级执行的上下文,具体的可以自行上网搜索this指向问题)

13)条件编译:实现不同平台不同显示,包括template/script/style里面都可以同理使用
在这里插入图片描述
在这里插入图片描述

14)跳转页面
两种方法:
1、
注意路径前面有/,并且跳转tabBar页面的时候要加open-type=“switchTab”
在这里插入图片描述
open-type的值为redirect时,下一页页面左上角没有返回箭头,因为使用这个属性,把上一页页面关闭了,再打开下一个页面
2、声明式跳转
在这里插入图片描述

15)调用子组件跟vue使用一致,不赘述,父子组件传值也跟vue一致
子组件中的created声明周期中初始化数据,mounted中操作dom

不同的是兄弟组件之间传值
父组件,引入子组件testA、testB
在这里插入图片描述
testB组件内容

全局绑定一个监听事件 updateNum
在这里插入图片描述

testA组件内容

通过这个全局事件改变里面的值,testB里面就会实时监听到,从而实现兄弟组件传值
在这里插入图片描述
16)调接口获取数据一般写在onLoad里面,因为onShow每次隐藏显示就去调接口,太频繁,onReady页面已经渲染好了再去调接口获取数据有点太慢了,所以onLoad最合适

项目中肯定需要使用第三方组件库,因为现有的这些不够方便我们去使用
推荐:
uview: https://uviewui.com/guide/demo.html
ThorUI: https://thorui.cn/doc/docs/introduce.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/mao871863224/article/details/112260847

智能推荐

JWT(Json Web Token)实现无状态登录_无状态token登录-程序员宅基地

文章浏览阅读685次。1.1.什么是有状态?有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。例如登录:用户登录后,我们把登录者的信息保存在服务端session中,并且给用户一个cookie值,记录对应的session。然后下次请求,用户携带cookie值来,我们就能识别到对应session,从而找到用户的信息。缺点是什么?服务端保存大量数据,增加服务端压力 服务端保存用户状态,无法进行水平扩展 客户端请求依赖服务.._无状态token登录

SDUT OJ逆置正整数-程序员宅基地

文章浏览阅读293次。SDUT OnlineJudge#include<iostream>using namespace std;int main(){int a,b,c,d;cin>>a;b=a%10;c=a/10%10;d=a/100%10;int key[3];key[0]=b;key[1]=c;key[2]=d;for(int i = 0;i<3;i++){ if(key[i]!=0) { cout<<key[i.

年终奖盲区_年终奖盲区表-程序员宅基地

文章浏览阅读2.2k次。年终奖采用的平均每月的收入来评定缴税级数的,速算扣除数也按照月份计算出来,但是最终减去的也是一个月的速算扣除数。为什么这么做呢,这样的收的税更多啊,年终也是一个月的收入,凭什么减去12*速算扣除数了?这个霸道(不要脸)的说法,我们只能合理避免的这些跨级的区域了,那具体是那些区域呢?可以参考下面的表格:年终奖一列标红的一对便是盲区的上下线,发放年终奖的数额一定一定要避免这个区域,不然公司多花了钱..._年终奖盲区表

matlab 提取struct结构体中某个字段所有变量的值_matlab读取struct类型数据中的值-程序员宅基地

文章浏览阅读7.5k次,点赞5次,收藏19次。matlab结构体struct字段变量值提取_matlab读取struct类型数据中的值

Android fragment的用法_android reader fragment-程序员宅基地

文章浏览阅读4.8k次。1,什么情况下使用fragment通常用来作为一个activity的用户界面的一部分例如, 一个新闻应用可以在屏幕左侧使用一个fragment来展示一个文章的列表,然后在屏幕右侧使用另一个fragment来展示一篇文章 – 2个fragment并排显示在相同的一个activity中,并且每一个fragment拥有它自己的一套生命周期回调方法,并且处理它们自己的用户输_android reader fragment

FFT of waveIn audio signals-程序员宅基地

文章浏览阅读2.8k次。FFT of waveIn audio signalsBy Aqiruse An article on using the Fast Fourier Transform on audio signals. IntroductionThe Fast Fourier Transform (FFT) allows users to view the spectrum content of _fft of wavein audio signals

随便推点

Awesome Mac:收集的非常全面好用的Mac应用程序、软件以及工具_awesomemac-程序员宅基地

文章浏览阅读5.9k次。https://jaywcjlove.github.io/awesome-mac/ 这个仓库主要是收集非常好用的Mac应用程序、软件以及工具,主要面向开发者和设计师。有这个想法是因为我最近发了一篇较为火爆的涨粉儿微信公众号文章《工具武装的前端开发工程师》,于是建了这么一个仓库,持续更新作为补充,搜集更多好用的软件工具。请Star、Pull Request或者使劲搓它 issu_awesomemac

java前端技术---jquery基础详解_简介java中jquery技术-程序员宅基地

文章浏览阅读616次。一.jquery简介 jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互 jQuery 的功能概括1、html 的元素选取2、html的元素操作3、html dom遍历和修改4、js特效和动画效果5、css操作6、html事件操作7、ajax_简介java中jquery技术

Ant Design Table换滚动条的样式_ant design ::-webkit-scrollbar-corner-程序员宅基地

文章浏览阅读1.6w次,点赞5次,收藏19次。我修改的是表格的固定列滚动而产生的滚动条引用Table的组件的css文件中加入下面的样式:.ant-table-body{ &amp;amp;::-webkit-scrollbar { height: 5px; } &amp;amp;::-webkit-scrollbar-thumb { border-radius: 5px; -webkit-box..._ant design ::-webkit-scrollbar-corner

javaWeb毕设分享 健身俱乐部会员管理系统【源码+论文】-程序员宅基地

文章浏览阅读269次。基于JSP的健身俱乐部会员管理系统项目分享:见文末!

论文开题报告怎么写?_开题报告研究难点-程序员宅基地

文章浏览阅读1.8k次,点赞2次,收藏15次。同学们,是不是又到了一年一度写开题报告的时候呀?是不是还在为不知道论文的开题报告怎么写而苦恼?Take it easy!我带着倾尽我所有开题报告写作经验总结出来的最强保姆级开题报告解说来啦,一定让你脱胎换骨,顺利拿下开题报告这个高塔,你确定还不赶快点赞收藏学起来吗?_开题报告研究难点

原生JS 与 VUE获取父级、子级、兄弟节点的方法 及一些DOM对象的获取_获取子节点的路径 vue-程序员宅基地

文章浏览阅读6k次,点赞4次,收藏17次。原生先获取对象var a = document.getElementById("dom");vue先添加ref <div class="" ref="divBox">获取对象let a = this.$refs.divBox获取父、子、兄弟节点方法var b = a.childNodes; 获取a的全部子节点 var c = a.parentNode; 获取a的父节点var d = a.nextSbiling; 获取a的下一个兄弟节点 var e = a.previ_获取子节点的路径 vue