uni-app学习笔记01-项目初始化及相关文件

使用新的IDE HBuilder X uni-app官方文档 快速上手

此项目创建使用vue3版本,文件结构与vue3类似

相关功能示例:

pages.json中配置路由和导航栏tabBar

javascript 复制代码
{
	"pages": [ //用于配置路由,pages数组中第一项表示应用启动页
		{
			"path": "pages/index/index", //文件路径
			"style": {
				"navigationBarTitleText": "酱梨食刻" //页面名字
			}
		},
		{
			"path" : "pages/Discover/Discover",
			"style" : 
			{
				"navigationBarTitleText" : "发现店铺"
			}
		},
		{
			"path" : "pages/Random/Random",
			"style" : 
			{
				"navigationBarTitleText" : "随机一餐"
			}
		},
		{
			"path" : "pages/Profile/Profile",
			"style" : 
			{
				"navigationBarTitleText" : "个人中心"
			}
		}
	],
	"globalStyle": {
		"navigationBarTextStyle": "white", //配置窗口上方的字体颜色
		"navigationBarTitleText": "uni-app",
		"navigationBarBackgroundColor": "#667eea", //配置窗口上方的背景色
		"backgroundColor": "#F8F8F8"
	},
	"tabBar": {    //配置导航栏
	"selectedColor": "#667eea",//选中字体的颜色
		"list": [
			{
				"pagePath": "pages/index/index", //对应导航路径
				"text": "首页", //导航栏的名字
				"iconPath": "/static/styles/ali-iconfont/png/shouye6.png", //未选中图标路径
				"selectedIconPath": "/static/styles/ali-iconfont/active-png/shouye6.png" //选择中图标路径
			},
			{
				"pagePath": "pages/Discover/Discover",
				"text": "发现",
				"iconPath": "/static/styles/ali-iconfont/png/faxian.png",
				"selectedIconPath": "/static/styles/ali-iconfont/active-png/faxian.png"
			},
			{
				"pagePath": "pages/Random/Random",
				"text": "随机",
				"iconPath": "/static/styles/ali-iconfont/png/suijishushengcheng.png",
				"selectedIconPath": "/static/styles/ali-iconfont/active-png/suijishushengcheng.png"
			},
			{
				"pagePath": "pages/Profile/Profile",
				"text": "我的",
				"iconPath": "/static/styles/ali-iconfont/png/li.png",
				"selectedIconPath": "/static/styles/ali-iconfont/active-png/li.png"
			}
		]
	},
	"uniIdRouter": {}
}

在uvue文件中,也是由

这三部分组成,可根据习惯,将script部分移动至上方,不影响

运行至微信小程序时需要运行设置中把路径改为微信开发者工具应用程序的路径

在uni-app的模板中,view组件就类似于div,text就类似于span

配置hover-class就可以做点击时的效果

新加的组件 配置一个可以滚动的区域

如果要配置横向滚动的话

需要三步 y改为x 子组件设置display:inline-block 父组件设置white-space: nowrap;

html 复制代码
<scroll-view scroll-x class="scrollView">
		<view class="box"></view>
		<view class="box"></view>
		<view class="box"></view>
		<view class="box"></view>
		<view class="box"></view>
		<view class="box"></view>
		<view class="box"></view>
		<view class="box"></view>
	</scroll-view>
<style lang="scss">
.scrollView{
		width: 750rpx;
		height: 300rpx;
		border: 1px solid pink;
		white-space: nowrap;
		.box{
			height: 200rpx;
			width: 200rpx;
			background-color: skyblue;
			border: 1px solid red;
			display: inline-block;
		}
	}
</style>

直接用的轮播图

html 复制代码
<script setup>
	const picList=[
		{id:'1',url:"https://pic2.zhimg.com/v2-d1286ae973d1ad3b94d32b45d783f4ab_r.jpg?source=1940ef5c"},
		{id:'2',url:"https://c-ssl.duitang.com/uploads/blog/202011/21/20201121154203_47c2c.thumb.1000_0.png"},
		{id:'3',url:"https://c-ssl.duitang.com/uploads/blog/202201/02/20220102144252_1e9a0.jpg"},
		{id:'4',url:"https://ts2.tc.mm.bing.net/th/id/OIP-C.QUlIh_eLkMYxBljVXO5ChgHaEo?r=0&rs=1&pid=ImgDetMain&o=7&rm=3"},
		{id:'5',url:"https://pic3.zhimg.com/v2-d96c7a9c2492de35b5e75fda2255614f_r.jpg"},
	]
</script>

<template>
	<swiper class="banner" indicator-dots autoplay>
		<swiper-item v-for="item in picList" :key="item.id">
			<image :src="item.url"></image>
		</swiper-item>
	</swiper>
	<scroll-view scroll-x class="scrollView">
		<view class="box"></view>
		<view class="box"></view>
		<view class="box"></view>
		<view class="box"></view>
		<view class="box"></view>
		<view class="box"></view>
		<view class="box"></view>
		<view class="box"></view>
	</scroll-view>
</template>

<style lang="scss">
	.banner{
		width: 750rpx;
		height: 500rpx;
		overflow: hidden;
		image{
			width: 100%;
			height: 100%;
			object-fit: contain;
		}
	}
	.scrollView{
		width: 750rpx;
		height: 300rpx;
		border: 1px solid pink;
		white-space: nowrap;
		.box{
			height: 200rpx;
			width: 200rpx;
			background-color: skyblue;
			border: 1px solid red;
			display: inline-block;
		}
	}
</style>

大图预览效果

html 复制代码
<script setup>
	const picList=[
		{id:'1',url:"https://pic2.zhimg.com/v2-d1286ae973d1ad3b94d32b45d783f4ab_r.jpg?source=1940ef5c"},
		{id:'2',url:"https://c-ssl.duitang.com/uploads/blog/202011/21/20201121154203_47c2c.thumb.1000_0.png"},
		{id:'3',url:"https://c-ssl.duitang.com/uploads/blog/202201/02/20220102144252_1e9a0.jpg"},
		{id:'4',url:"https://ts2.tc.mm.bing.net/th/id/OIP-C.QUlIh_eLkMYxBljVXO5ChgHaEo?r=0&rs=1&pid=ImgDetMain&o=7&rm=3"},
		{id:'5',url:"https://pic3.zhimg.com/v2-d96c7a9c2492de35b5e75fda2255614f_r.jpg"},
	]
	
	const onPreviewImage=(url)=>{
		wx.previewImage({
			urls:picList.map(v=>v.url),
			current:url
		})
	}
</script>

<template>
	<swiper class="banner" indicator-dots autoplay>
		<swiper-item v-for="item in picList" :key="item.id">
			<image :src="item.url" @tap="onPreviewImage(item.url)"></image>
		</swiper-item>
	</swiper>
</template>

<style lang="scss">
	.banner{
		width: 750rpx;
		height: 500rpx;
		overflow: hidden;
		image{
			width: 100%;
			height: 100%;
			object-fit: contain;
		}
	}
</style>
相关推荐
人工智能转人机6 分钟前
16day-人工智能-机器学习-特征工程
人工智能·学习·机器学习·特征工程
努力自学的小夏15 分钟前
RK3568 Linux驱动学习——字符设备驱动开发
linux·驱动开发·笔记·学习
苏州第一深情21 分钟前
【uniapp】uniapp实现单点登录、打包H5部署到线上
javascript·vue.js·uni-app
艾莉丝努力练剑36 分钟前
【数据结构与算法】顺序表和链表、栈和队列、二叉树、排序等数据结构的完整代码收录
c语言·数据结构·学习·链表
大信团队—跨境TRO44 分钟前
【25-cv-23395】宠物/婴儿玩具品牌BESTSKY商标维权!
笔记·宠物·跨境电商·亚马逊·侵权维权·tro
老虎06272 小时前
JavaWeb(苍穹外卖)--学习笔记17(Websocket)
笔记·websocket·学习
anyup2 小时前
uView Pro 正式开源!70+ Vue3 组件重构全记录,助力 uni-app 组件生态,你会选择吗?
前端·架构·uni-app
★YUI★3 小时前
学习游戏制作记录(将各种属性应用于战斗以及实体的死亡)8.5
学习·游戏·unity·c#
yiqiqukanhaiba3 小时前
江协科技STM32学习笔记1
科技·stm32·学习
牧天白衣.4 小时前
可验证随机函数-VRF
学习·密码学