uniapp 封装导航栏

老有人私信问我,顶部导航栏怎么弄。哎~ 只能发一个代码出来。我自己瞎封装的。不见得很好。凑合看吧

<template>
	<!-- <view class="title-padding"> -->
		<view class="top_bar">
			<view class="l_bar">
				<slot name="left">
					<span class="iconfont iconback" @tap="goBack" />
				</slot>
			</view>
			<view class="c_bar">
				<slot name="center">
					<text>默认标题</text>
				</slot>
			</view>
			<view class="r_bar">
				<slot  name="right" class="r_bar">
					<span class="iconfont iconfenxiang"></span>
					<span class="iconfont icon19"></span>
				</slot>
			</view>
		</view>
	<!-- </view> -->
	

</template>

<script>  
	export default{
		name:'topTab',
		created() { 
			// #ifdef APP-PLUS
			this.hasNotch();
			// #endif
		},
		methods: {
			goBack(){
				uni.navigateBack();
			},
			 hasNotch(){
				// if(plus.navigator.hasNotchInScreen()){
				// 	uni.showToast({
				// 		title: '此设备是刘海屏',
				// 		duration: 2000
				// 	});
				 
				// }else{
				// 		uni.showToast({
				// 		title: '此设备不是刘海屏',
				// 		duration: 2000
				// 	});
					 
				// }
			}
		},
	}
</script>

<style lang="scss" scope>
// #ifdef APP-PLUS 
	.title-padding{ 
		height: var(--status-bar-height);
		width: 100%;
		padding-top: 44px;
		box-sizing: content-box;
	}
	// #endif

	.top_bar{
		display: flex;
		height: 66rpx;
		line-height: 66rpx;
		box-sizing: border-box;
		padding: 0 20rpx;  
		margin-top: var(--status-bar-height);
		
		.l_bar{
			width: 100rpx;
		}
		.c_bar{
			flex: 1;
			text-align: center;
			font-size: 40rpx;
			font-weight: normal;
			font-stretch: normal;
			letter-spacing: 0rpx;
			color: #011223;
		}
		.r_bar{
			width: 100rpx;
			display: flex;
			justify-content: space-around;
		}
	}
</style>

如何引入在下面的文章 uniapp商店购物车

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
***于Vue.js的跨平台开发框架,可以用于开发iOS、Android和Web应用。要封装顶部导航栏,可以通过以下步骤进行: 1. 在uniapp的项目目录中找到`/common`或者`/components`文件夹,没有的话可以自己创建一个。 2. 在该文件夹下创建一个新的Vue组件,比如命名为`TopNavBar.vue`。 3. 在`TopNavBar.vue`组件中,编写顶部导航栏的布局和样式。 4. 使用props接收需要的参数,比如导航栏的标题、是否显示返回按钮等。 5. 在`TopNavBar.vue`组件中,处理返回按钮点击事件,并通过emit向父组件传递事件。 6. 在需要使用顶部导航栏的页面中,引入`TopNavBar.vue`组件,并传入相应的参数。 以下是一个简单的示例代码: ```vue <template> <div class="top-nav-bar"> <div class="back-btn" @click="handleBack"> 返回 </div> <div class="title">{{ title }}</div> </div> </template> <script> export default { props: { title: String, showBackBtn: { type: Boolean, default: false } }, methods: { handleBack() { this.$emit('back'); } } } </script> <style scoped> .top-nav-bar { display: flex; align-items: center; justify-content: space-between; padding: 10px; background-color: #333; color: #fff; } .back-btn { cursor: pointer; } .title { font-size: 18px; font-weight: bold; } </style> ``` 使用时,在需要的页面中引入组件,并传递相应的参数: ```vue <template> <view> <top-nav-bar title="顶部导航栏" show-back-btn @back="handleBack"></top-nav-bar> <!-- 页面内容 --> </view> </template> <script> import TopNavBar from '@/components/TopNavBar.vue' export default { components: { TopNavBar }, methods: { handleBack() { // 处理返回按钮点击事件 } } } </script> <style> /* 样式 */ </style> ``` 通过以上步骤,你就可以在uniapp封装顶部导航栏组件,并在需要使用的页面中引入和使用了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值