记录使用uniapp easycom 全局组件

文章介绍了uniapp的easycom特性,它允许开发者将组件放在特定目录下,无需安装、引用、注册即可直接使用。例如创建了一个名为jz-avatar的自定义组件,放置在components/jz目录下,然后在pages.json中配置easycom规则,就能在页面中直接使用该组件。
摘要由CSDN通过智能技术生成

记录使用uniapp easycom

在官网中是这样表述的,传统vue组件,需要安装、引用、注册,三个步骤后才能使用组件。easycom将其精简为一步。 只要组件安装在项目根目录或uni_modules的components目录下,并符合components/组件名称/组件名称.vue或uni_modules/插件ID/components/组件名称/组件名称.vue目录结构。就可以不用引用、注册,直接在页面中使用

 "easycom": { 
				"^u-(.*)": "@/uni_modules/uview-ui/components/u-$1/u-$1.vue"
		}, 

创建组件:

在这里插入图片描述
首先我在components,中创建jz目录并创建一个jz-avatar的文件,代码如下.

<template>
	<view class="jz-avatar">
		<image v-if="show" :src="url" mode="widthFix" @error="handleImageLoadError"></image>
		<image  v-else :src="errorUrl||defaultHeadImg" mode="widthFix" @error="handleImageLoadError"></image>
	</view>
</template>

<script>
	export default{
		props:{
			url:{
				type:String,
				default:''
			},
			errorUrl:{
				type:String,
				default:''
			}
		},
		computed:{
			defaultHeadImg(){
				return this.$store.state.defaultHeadImg
			}
		},
		data(){
			return{
				show:true
			}
		},
		methods:{
			/**
			 * 图片加载失败
			 */
			handleImageLoadError(){
				this.show=false
			}
		}
	}
</script>

<style scoped lang="scss">
	.jz-avatar{
		width: 100%;
		height: 100%;
		image{
			width: 100%;
			height: 100%;
			border-radius: 50%;
		}
	}
</style>

然后在pages.json 中写入,easycom中可以使用正则表达式

"easycom": { 
				"^u-(.*)": "@/uni_modules/uview-ui/components/u-$1/u-$1.vue",
				"jz-(.*)":"@/components/jz/jz-$1.vue"
		}, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值