uniapp的基本使用

工欲善其事必先利其器,使用uniapp开发就需要用到两个工具,HBuilderX以及微信开发者工具!

HBuilderX的下载地址:HBuilderX-高效极客技巧 

微信开发者工具下载地址:稳定版 Stable Build | 微信开放文档

工具已经准备好了!下面开始吧!

使用HBuilderX新建一个uniapp项目,文件-》新建-》项目

 

直接运行到浏览器即可,效果如下图:

 如何运行到微信开发者工具呢?

再打开微信开发者工具就可以看到效果了:

注意:

1、大家在运行到微信开发者工具的时候可能会报错,解决方案:微信开发者工具-》设置-》安全,将这个服务端口打开即可!

2、如果是第一次使用微信开发者工具,有一个路径需要填写:

 如何做呢?桌面上-》右键打开文件所在的位置-》把这个目录填写到HBuilderX中弹出的提示框中就可以了!

 接下来可以到pages.json文件中(pages.json文件可以配置页面路由、导航条、选项卡等页面类信息),pages.json 文件用来对 uni-app 进行全局配置,决定页面文件的路径、窗口样式、原生的导航栏、底部的原生tabbar 等。

所以就来仔细看一下globalStyle属性!

 以上有需要注意的点:类型为HexColor的就只支持像这种十六进制的编码。如:#00CD66等。

首先使用使用navigationBarBackgroundColor属性,那现在我想改为一个红色,于是我修改:

 第二个属性:navigationBarTextStyle,只有两个值,white和black。我们将它设置为white。

 第三个属性:backgroundColor,默认情况下看不见,只有下拉的时候才看的到!所以就需要通过设置enablePullDownRefresh为true,才能够开启下拉。

 箭头所指的地方就是背景颜色,可以通过backgroundColor进行设置!于是我就设置背景颜色为紫色,看一下效果:

 接下来就是:backgroundTextStyle属性,有两个取值:dark和light

默认情况下是暗的!

 然后将backgroundTextStyle设置为light

 以下是navigationBarTitleText属性:

尽管改成了today,但是页面上依旧是uni-app,因为尽管了删掉全局的,但是每个页面还是有的!

 

 将style属性删掉即可

 二、创建页面和页面的配置

创建页面,首先要创建目录,然后创建vue文件即可!

以下就已经添加好了一个页面,如何直接运行这个页面呢?还是需要在pages.json文件修改!

也就是默认运行哪个页面,哪个页面的路径就需要放在最上面!

除了以上,还可以设置h5的样式:

设置h5的样式就是只在浏览器中有效,在微信开发者工具中没有效果的!

pullToRefresh是下拉刷新:可以指定它的颜色

三、tabbar

四、condition启动模式的配置

 那如何在微信开发者工具进入detail页面呢?

浏览器器中如何进入detail页面呢?

五、text组件的基本使用

text组件就相当于html中span标签,它是不换行的,如果需要换行可以拿view组件包裹它。

1、selectable属性

 2、space属性

 

六、view视图容器

 1、hover-class属性

默认:

鼠标点击:

2、hover-stop-propagation属性

<template>
	<view>
		<view class="box2" hover-class="box2_hover">
			<view class="box" hover-class="box_hover">
				这是一个容器盒子
			</view>
		</view>
	</view>
</template>

<script>
</script>

<style>
	.box{
		width: 100px;
		height: 100px;
		background-color: #4CD964;
	}
	.box2{
		width: 200px;
		height: 200px;
		background-color:#F0AD4E;
	}
	.box_hover{
		width: 100px;
		height: 100px;
		background-color:#007AFF;
	}
	.box2_hover{
		width: 200px;
		height: 200px;
		background-color:#555555;
	}
</style>

 效果图:

 当我点击小的容器时,后面大的容器也会发生改变

 所以我们可以:在小容器中设置hover-stop-propagation值

 这样的话,点击小容器,大容器还是原本的颜色

 下面是hover-start-time和hover-stay-time属性:

 七、button组件

以下演示button组件的size、type、plain、disabled、loading等属性

 效果图:

 

 八、image组件

就是用来显示图片的 

 

代码如下:

效果图:

 九、uni中的样式

 rpx就是响应式px,比如你的字体如果是30px的话在不同的设备上都是30px,大小不会改变,如果是rpx的话,就会自动适应。

假设我们用30px:

 

无论选择什么尺寸,它的字体大小都是30px。

APP.vue中的样式为全局样式

 首先将局部样式去掉,添加一个全局样式:

 

效果图如下:

 如果该选择器有局部样式,就会变成它局部样式的颜色!

 

接下来就是使用字体图标:

如果想要在全局使用,就需要在App.vue文件中去导入

导入之后会报错:

原因:

 解决方案就是进入到iconfont.css文件中,加上以下的路径即可

 如何使用字体图标呢?

步骤是这样没错,但是我的图标就是出不来啊,咋办啊???

使用scss样式:

工具-》插件安装-》安装scss插件 

 

$uni-bg-color-byme其实是来自于uni.scss文件中

 

效果图:

 view组件中有text组件,给text组件设置样式:

十一、数据绑定

<template>
	<view>
		<view>{{title}}</view>
		<view>{{flag?'真的':'假的'}}</view>
		<view>{{3+2}}</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				title: 'Hello',
				flag:false
			}
		},
		onLoad() {
	
		},
		methods: {
	
		}
	}
</script>

<style>
</style>

 

<template>
	<view>
		<image :src="imageUrl"></image>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				imageUrl:'../../static/微信图片_20211026174522.jpg'
			}
		},
		onLoad() {
	
		},
		methods: {
	
		}
	}
</script>

<style>
</style>

<template>
	<view>
		<!-- item表示arrlists中的每一项,i就是索引 -->
		<view v-for="(item,i) in arrlists" :key="item.id">
			序号:{{i}}名字:{{item.name}},年龄:{{item.age}}
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				arrlists:[
					{id:1001,name:'小明',age:10},
					{id:1002,name:'小里',age:11},
					{id:1003,name:'小哈',age:12},
					{id:1004,name:'小百',age:15}
				]
			}
		},
		onLoad() {
	
		},
		methods: {
	
		}
	}
</script>

<style>
</style>

 效果图:

<template>
	<view>
		<button v-on:click="btnClick">按钮</button>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				
			}
		},
		onLoad() {
	
		},
		methods: {
			btnClick(){
				console.log('你点了一下');
			}
		}
	}
</script>

<style>
</style>

 如果事件没有传参数,e就是事件的对象

 如果传了参数:

 如果既想传参数也想将事件对象传入:

十二、uni生命周期

uni中的生命周期分为两类,应用生命周期和页面生命周期

 

 运行应用,控制台会输出:

最小化浏览器,再回到这个界面:

 除了以上的应用生命周期函数,还有onError

 于是控制台就会报以下错误:

 

 十三、下拉刷新学习

页面生命周期函数:

 

 

 

 

 

 

十四、上拉加载

上图,距离底面两百的时候会触发该事件 

十五、发送get请求

 

 

 

十六、数据缓存

 

 

 小程序中:

接下来是获取数据:

 

 

 

十七、图片上传和预览

 

 

这样图片就可以直接显示出来了

十八、条件编译跨端兼容 

 

十九、两种方式导航跳转和传参

 

 因为message是tabBar页面,所以我们可以设置open-type属性为switchTab

 

 当open-type为redirect时,跳转到另外一个界面后会有下图所示红色正方形中的返回箭头,可以返回到上一个页面

普通跳转就不会有返回箭头,前一页就会被销毁

 

二十、组件的创建使用和生命周期函数

 

 

 

 

所以说,如果想操作dom,就在mounted函数中操作

v-if如果等于true,组件就存在,反之

 综上所述,初始化数据可以在created函数中,mounted中可以操作dom,

二十一、组件之间的通讯方式

 

 

 

 

兄弟组件之间的传值:

 

然后就可以在页面中直接使用了:

 

uni.$on注册一个全局事件,uni.$emit触发全局事件 

 二十二、uni组件库的基本使用

 以上内容已经全部讲完了,之后就开始做项目了!

项目开始:

一、创建项目和清理结构和配置基本外观

新建一个uniapp项目

 运行到微信小程序,但是报了如下错误:

TypeError: Cannot read property 'forceUpdate' of undefined

原因是在HBulider X中没有配置APPID

首先配置一下导航条顶部的样式:

 

接下来实现底部的tabBar:

我们在pages目录上,右键选择新建页面:

 

 这样我们就创建好了四个页面。

 然后就去配置tabBar:

 

选中之后的文字颜色指的是:

 接下来做一个轮播的图的效果:

图片来自于接口,所以我新建一个.net5的api接口

  • 8
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值