uni-app顶部导航栏组件

先看看效果:
在这里插入图片描述
在这里插入图片描述

1.在app.vue中引入全局样式

<style>
	/*每个页面公共css */
	@import './common/uni.css';
	/*引入css3动画库*/
	@import './common/animate.css';
	
</style>

可以通过创建hello-uniapp项目,uni.css文件在项目的common文件夹下

2.在项目根目录components文件夹下新建一个vue文件

这里我命名为index.vue,文件内容如下:

<template>
	<view>
		<!--顶部导航栏-->
		<view class="uni-tab-bar">
			<scroll-view scroll-x class="uni-swiper-tab">
				<block v-for="(tabBar,index) in tabBars" :key="index">
					<view class="swiper-tab-list" :class="{'active': tabIndex==index}" @tap="toggleTab(index)">
						{{tabBar.name}}
						<view class="swiper-tab-line">
						</view>
					</view>
				</block>
				
			</scroll-view>
		</view>
		
		<!--内容区-->
		<view class="uni-tab-bar">
			<swiper :current="tabIndex" @change="tabChange">
				<swiper-item v-for="(content,index) in contentList" :key="index" >
					<view class="swiper-item">{{content}}</view>
				</swiper-item>
			</swiper>
		</view>
		
		
	</view>
	
	
</template>

<script>
	
	export default {
		data() {
			return {
				tabIndex: 0,	//选中标签栏的序列
				contentList: [
								"关注",
								"推荐",
								"热点",
								"体育",
								'财经',
								'娱乐',
							 ],
				tabBars:[
					{
						name: '关注',
						id: 'guanzhu'
					},
					{
						name: '推荐',
						id: 'tuijian'
					},
					{
						name: '热点',
						id: 'redian'
					},
					{
						name: '体育',
						id: 'tiyu'
					},
					{
						name: '财经',
						id: 'caijing'
					},
					{
						name: '娱乐',
						id: 'yule'
					}
				],
				swiperHeight: 0
			
			}
		},
		components:{
			
		},
		onLoad() {
			
			
		},
		methods: {
			toggleTab(index){
				console.log(index)
				this.tabIndex = index
			},
			//滑动切换swiper
			tabChange(e){
				console.log(e.detail)
				const tabIndex = e.detail.current
				this.tabIndex = tabIndex
				
			}
		}
	}
</script>

<style>
	.swiper-tab-list{
		color: #969696;
		font-weight: bold;
	}
	.uni-tab-bar .active{
		color: #343434;
	}
	
	.active .swiper-tab-line{
		border-bottom: 6upx solid #FEDE33;
		width: 70upx;
		margin: auto;
		border-top: 6upx solid #FEDE33;
		border-radius: 20upx;
	}
	.uni-swiper-tab{
		border-bottom: 1upx solid #eeeeee;
	}
	
	

</style>

接下来可以在其他文件中导入使用了。

  • 8
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
uni-app一个跨平台的开发框架,可以实现一次开发,多端发布的效果。能够利用uni-app,我们可以方便地仿制今日头条新闻app。 首先,我们可以通过uni-app的页面结构和组件库来搭建类似今日头条的界面,包括顶部导航栏、新闻列表的展示等。 然后,我们可以通过uni-app框架的网络请求功能,获取今日头条新闻的数据,并将其展示在界面上。可以利用uni-app内置的request或者axios等库来发送HTTP请求,并获取返回的新闻数据。 对于新闻列表展示,我们可以利用uni-app的列表渲染功能,将获取到的新闻数据渲染到页面上。同时,可以使用uni-app的下拉刷新组件实现新闻的实时更新。 另外,可以利用uni-app的路由功能,实现新闻详情页的跳转。当用户点击某个新闻标题时,可以将对应的新闻ID传递给详情页,并通过uni-app的路由功能进行页面的跳转。 在详情页中,可以展示新闻的详细内容,并可以提供评论、点赞等交互功能。可以利用uni-app内置的组件库,实现这些功能。 最后,针对用户的个人设置和喜好,可以通过uni-app的本地存储功能,实现收藏、关注等功能。用户可以自主选择感兴趣的栏目,并将其保存在本地,方便下次打开app时快速浏览相关内容。 总之,利用uni-app框架,我们可以轻松实现仿制今日头条新闻app的源码。通过运用uni-app的丰富功能和组件库,可以实现新闻的展示、跳转、交互等各种特性,以及个性化设置和存储功能。无论是在IOS、Android还是其他平台上,利用uni-app都能实现一次开发,多端发布,提高开发效率,降低开发成本。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值