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>
相关推荐
chushiyunen9 分钟前
word使用笔记(二)、邮件合并(模板套用)
笔记·word
江华森44 分钟前
Python 编程快速上手:让繁琐工作自动化 —— 19章全实战笔记
笔记·python·自动化
薄荷椰果抹茶1 小时前
计算机导论_第4章_笔记
服务器·网络·笔记
峥嵘life1 小时前
Android GMS 开机向导横竖屏切换配置总结
android·学习
六bring个六2 小时前
链表学习(常规链表)
数据结构·学习·链表
say_fall2 小时前
【Git 精品详解】企业规范:企业级开发模型、Git Flow、发版流程规范、Code Owner 制度、事故应急回滚
大数据·linux·服务器·git·学习·elasticsearch
千逐682 小时前
Uniapp 鸿蒙实战之 AtomGit APP - 首页设计与仓库列表实现
华为·uni-app·harmonyos
kgduu2 小时前
react-redux学习笔记
笔记·学习·react.js
RainCityLucky2 小时前
Java Swing 自定义组件库分享(十三)
java·笔记·后端
诗句藏于尽头2 小时前
Ai-3D音乐播放器-Mineradio -VibeCoding大赏-新增歌词字体自定义上传功能(个人学习)
学习